摘要: Java数据结构和算法(九)——高级排序 Java数据结构和算法(九)——高级排序 目录 1、希尔排序 ①、直接插入排序 ②、希尔排序图解 ③、排序间隔选取 ④、knuth间隔序列的希尔排序算法实现 ⑤、间隔为2h的希尔排序 2、快速排序 ①、快速排序的基本思路 ②、快速排序的算法实现 ③、快速排序 阅读全文
posted @ 2020-06-18 16:38 牛牛魔王 阅读(105) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(十五)——无权无向图 Java数据结构和算法(十五)——图 目录 1、图的定义 ①、邻接: ②、路径: ③、连通图和非连通图: ④、有向图和无向图: ⑤、有权图和无权图: 2、在程序中表示图 ①、顶点: ②、边: 3、搜索 ①、深度优先搜索(DFS) ②、广度优先搜索(BFS 阅读全文
posted @ 2020-06-18 16:36 牛牛魔王 阅读(316) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(十四)——堆 Java数据结构和算法(十四)——堆 目录 1、堆的定义 2、遍历和查找 3、移除 4、插入 5、完整的Java堆代码 在Java数据结构和算法(五)——队列中我们介绍了优先级队列,优先级队列是一种抽象数据类型(ADT),它提供了删除最大(或最小)关键字值的数据 阅读全文
posted @ 2020-06-18 16:34 牛牛魔王 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(十三)——哈希表 Java数据结构和算法(十三)——哈希表 目录 1、哈希函数的引入 2、冲突 3、开放地址法 ①、线性探测 ②、装填因子 ③、二次探测 ④、再哈希法 4、链地址法 5、桶 6、总结 Hash表也称散列表,也有直接译作哈希表,Hash表是一种根据关键字值(ke 阅读全文
posted @ 2020-06-18 16:33 牛牛魔王 阅读(152) 评论(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 牛牛魔王 阅读(123) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(十一)——红黑树 Java数据结构和算法(十一)——红黑树 目录 1、红-黑树的特征 2、红-黑树的自我修正 ①、改变节点颜色 ②、右旋 ③、左旋 3、左旋和右旋代码 4、插入操作 5、删除操作 6、红黑树的效率 上一篇博客我们介绍了二叉搜索树,二叉搜索树对于某个节点而言,其 阅读全文
posted @ 2020-06-18 16:31 牛牛魔王 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(十)——二叉树 Java数据结构和算法(十)——二叉树 目录 1、树 树的常用术语 2、二叉树 3、查找节点 4、插入节点 5、遍历树 6、查找最大值和最小值 7、删除节点 ①、删除没有子节点的节点 ②、删除有一个子节点的节点 ③、删除有两个子节点的节点 ④、删除有必要吗? 阅读全文
posted @ 2020-06-18 16:30 牛牛魔王 阅读(242) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(八)——递归 Java数据结构和算法(八)——递归 目录 1、递归的定义 2、求一个数的阶乘:n! 3、递归的二分查找 4、分治算法 5、汉诺塔问题 5、归并排序 6、消除递归 递归和栈 7、递归的有趣应用 ①、求一个数的乘方 ②、背包问题 ③、组合:选择一支队伍 8、总结 阅读全文
posted @ 2020-06-18 16:29 牛牛魔王 阅读(154) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(七)——链表 Java数据结构和算法(七)——链表 目录 1、链表(Linked List) 2、单向链表(Single-Linked List) ①、单向链表的具体实现 ②、用单向链表实现栈 4、双端链表 ①、双端链表的具体实现 ②、用双端链表实现队列 5、抽象数据类型(A 阅读全文
posted @ 2020-06-18 16:26 牛牛魔王 阅读(231) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(六)——前缀、中缀、后缀表达式 Java数据结构和算法(六)——前缀、中缀、后缀表达式 目录 1、人如何解析算术表达式 2、计算机如何解析算术表达式 3、后缀表达式 ①、如何将中缀表达式转换为后缀表达式? ②、计算机如何实现后缀表达式的运算? 4、前缀表达式 ①、如何将中缀表 阅读全文
posted @ 2020-06-18 16:24 牛牛魔王 阅读(236) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(五)——队列 Java数据结构和算法(五)——队列 目录 1、队列的基本概念 2、Java模拟单向队列实现 3、双端队列 4、优先级队列 5、总结 前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构——栈,本篇博客我们介绍另外一个这 阅读全文
posted @ 2020-06-18 16:23 牛牛魔王 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(四)——栈 Java数据结构和算法(四)——栈 目录 1、栈的基本概念 2、Java模拟简单的顺序栈实现 3、增强功能版栈 4、利用栈实现字符串逆序 5、利用栈判断分隔符是否匹配 6、总结 前面我们讲解了数组,数组更多的是用来进行数据的存储,纯粹用来存储数据的数据结构,我们期 阅读全文
posted @ 2020-06-18 16:22 牛牛魔王 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(三)——冒泡、选择、插入排序算法 Java数据结构和算法(三)——几种常用的排序算法 目录 1、冒泡排序 2、选择排序 3、插入排序 4、总结 上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法。 回 阅读全文
posted @ 2020-06-18 16:20 牛牛魔王 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(二)——数组 Java数据结构和算法(二)——数组 目录 1、Java数组介绍 2、用类封装数组实现数据结构 3、分析数组的局限性 4、总结 上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍。本篇博客我们介绍数据结构的鼻祖——数组,可 阅读全文
posted @ 2020-06-18 16:18 牛牛魔王 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Java数据结构和算法(一)——简介 Java数据结构和算法(一)——简介 目录 1、数据结构 一、数据结构的基本功能 二、常用的数据结构 2、算法 一、算法的五个特征 二、算法的设计原则 3、总结 本系列博客我们将学习数据结构和算法,为什么要学习数据结构和算法,这里我举个简单的例子。 编程好比是一 阅读全文
posted @ 2020-06-18 16:16 牛牛魔王 阅读(121) 评论(0) 推荐(0) 编辑