文章分类 -  数据结构与算法

摘要:Java数据结构和算法(九)——高级排序 Java数据结构和算法(九)——高级排序 目录 1、希尔排序 ①、直接插入排序 ②、希尔排序图解 ③、排序间隔选取 ④、knuth间隔序列的希尔排序算法实现 ⑤、间隔为2h的希尔排序 2、快速排序 ①、快速排序的基本思路 ②、快速排序的算法实现 ③、快速排序 阅读全文
posted @ 2020-06-18 16:38 牛牛魔王 阅读(126) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十五)——无权无向图 Java数据结构和算法(十五)——图 目录 1、图的定义 ①、邻接: ②、路径: ③、连通图和非连通图: ④、有向图和无向图: ⑤、有权图和无权图: 2、在程序中表示图 ①、顶点: ②、边: 3、搜索 ①、深度优先搜索(DFS) ②、广度优先搜索(BFS 阅读全文
posted @ 2020-06-18 16:36 牛牛魔王 阅读(340) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十四)——堆 Java数据结构和算法(十四)——堆 目录 1、堆的定义 2、遍历和查找 3、移除 4、插入 5、完整的Java堆代码 在Java数据结构和算法(五)——队列中我们介绍了优先级队列,优先级队列是一种抽象数据类型(ADT),它提供了删除最大(或最小)关键字值的数据 阅读全文
posted @ 2020-06-18 16:34 牛牛魔王 阅读(128) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十三)——哈希表 Java数据结构和算法(十三)——哈希表 目录 1、哈希函数的引入 2、冲突 3、开放地址法 ①、线性探测 ②、装填因子 ③、二次探测 ④、再哈希法 4、链地址法 5、桶 6、总结 Hash表也称散列表,也有直接译作哈希表,Hash表是一种根据关键字值(ke 阅读全文
posted @ 2020-06-18 16:33 牛牛魔王 阅读(180) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十二)——2-3-4树 Java数据结构和算法(十二)——2-3-4树 目录 1、2-3-4 树介绍 2、搜索2-3-4树 3、插入 1、节点分裂 2、根的分裂 4、完整源码实现 5、2-3-4树和红黑树 ①、对应规则 ②、操作等价 6、2-3-4 树的效率 通过前面的介绍, 阅读全文
posted @ 2020-06-18 16:32 牛牛魔王 阅读(151) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十一)——红黑树 Java数据结构和算法(十一)——红黑树 目录 1、红-黑树的特征 2、红-黑树的自我修正 ①、改变节点颜色 ②、右旋 ③、左旋 3、左旋和右旋代码 4、插入操作 5、删除操作 6、红黑树的效率 上一篇博客我们介绍了二叉搜索树,二叉搜索树对于某个节点而言,其 阅读全文
posted @ 2020-06-18 16:31 牛牛魔王 阅读(126) 评论(0) 推荐(0)
摘要:Java数据结构和算法(十)——二叉树 Java数据结构和算法(十)——二叉树 目录 1、树 树的常用术语 2、二叉树 3、查找节点 4、插入节点 5、遍历树 6、查找最大值和最小值 7、删除节点 ①、删除没有子节点的节点 ②、删除有一个子节点的节点 ③、删除有两个子节点的节点 ④、删除有必要吗? 阅读全文
posted @ 2020-06-18 16:30 牛牛魔王 阅读(258) 评论(0) 推荐(0)
摘要:Java数据结构和算法(八)——递归 Java数据结构和算法(八)——递归 目录 1、递归的定义 2、求一个数的阶乘:n! 3、递归的二分查找 4、分治算法 5、汉诺塔问题 5、归并排序 6、消除递归 递归和栈 7、递归的有趣应用 ①、求一个数的乘方 ②、背包问题 ③、组合:选择一支队伍 8、总结 阅读全文
posted @ 2020-06-18 16:29 牛牛魔王 阅读(174) 评论(0) 推荐(0)
摘要:Java数据结构和算法(七)——链表 Java数据结构和算法(七)——链表 目录 1、链表(Linked List) 2、单向链表(Single-Linked List) ①、单向链表的具体实现 ②、用单向链表实现栈 4、双端链表 ①、双端链表的具体实现 ②、用双端链表实现队列 5、抽象数据类型(A 阅读全文
posted @ 2020-06-18 16:26 牛牛魔王 阅读(247) 评论(0) 推荐(0)
摘要:Java数据结构和算法(六)——前缀、中缀、后缀表达式 Java数据结构和算法(六)——前缀、中缀、后缀表达式 目录 1、人如何解析算术表达式 2、计算机如何解析算术表达式 3、后缀表达式 ①、如何将中缀表达式转换为后缀表达式? ②、计算机如何实现后缀表达式的运算? 4、前缀表达式 ①、如何将中缀表 阅读全文
posted @ 2020-06-18 16:24 牛牛魔王 阅读(281) 评论(0) 推荐(0)
摘要:Java数据结构和算法(五)——队列 Java数据结构和算法(五)——队列 目录 1、队列的基本概念 2、Java模拟单向队列实现 3、双端队列 4、优先级队列 5、总结 前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构——栈,本篇博客我们介绍另外一个这 阅读全文
posted @ 2020-06-18 16:23 牛牛魔王 阅读(99) 评论(0) 推荐(0)
摘要:Java数据结构和算法(四)——栈 Java数据结构和算法(四)——栈 目录 1、栈的基本概念 2、Java模拟简单的顺序栈实现 3、增强功能版栈 4、利用栈实现字符串逆序 5、利用栈判断分隔符是否匹配 6、总结 前面我们讲解了数组,数组更多的是用来进行数据的存储,纯粹用来存储数据的数据结构,我们期 阅读全文
posted @ 2020-06-18 16:22 牛牛魔王 阅读(143) 评论(0) 推荐(0)
摘要:Java数据结构和算法(三)——冒泡、选择、插入排序算法 Java数据结构和算法(三)——几种常用的排序算法 目录 1、冒泡排序 2、选择排序 3、插入排序 4、总结 上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法。 回 阅读全文
posted @ 2020-06-18 16:20 牛牛魔王 阅读(125) 评论(0) 推荐(0)
摘要:Java数据结构和算法(二)——数组 Java数据结构和算法(二)——数组 目录 1、Java数组介绍 2、用类封装数组实现数据结构 3、分析数组的局限性 4、总结 上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍。本篇博客我们介绍数据结构的鼻祖——数组,可 阅读全文
posted @ 2020-06-18 16:18 牛牛魔王 阅读(130) 评论(0) 推荐(0)
摘要:Java数据结构和算法(一)——简介 Java数据结构和算法(一)——简介 目录 1、数据结构 一、数据结构的基本功能 二、常用的数据结构 2、算法 一、算法的五个特征 二、算法的设计原则 3、总结 本系列博客我们将学习数据结构和算法,为什么要学习数据结构和算法,这里我举个简单的例子。 编程好比是一 阅读全文
posted @ 2020-06-18 16:16 牛牛魔王 阅读(132) 评论(0) 推荐(0)
摘要:我是《程序员代码面试指南--IT名企算法与数据结构题目最优解》的作者 ,书籍涉及算法与数据结构编程题目240道以上,并且个人实现出最优解,大部分题目为面试高频。 这篇我想写写算法的重要性、我个人是如何学习算法以及一些如何学习算法的建议 算法在求职以及工作后的重要性 求职面试必考(校招+社招),且国内 阅读全文
posted @ 2020-03-30 20:19 牛牛魔王 阅读(390) 评论(0) 推荐(0)
摘要:一、概述 以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的确,算法在计算机科学中的地位真的很重要,在很多大公司的笔试面试中,算法掌握程度的考察都占据了很大一部分。不管是为了面试还是自身编程能力的提升,花时间去研究常见的算法还是很有必要的。下面是自己对于算法这部分的学习总结。 算法简介 算 阅读全文
posted @ 2019-02-27 15:09 牛牛魔王 阅读(217) 评论(0) 推荐(0)
摘要:数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。 为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几 阅读全文
posted @ 2019-02-27 15:05 牛牛魔王 阅读(549) 评论(0) 推荐(0)
摘要:<!--done--> 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。 为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其 阅读全文
posted @ 2018-12-21 10:31 牛牛魔王 阅读(104) 评论(0) 推荐(0)