(点击标题预览相应文章)
Java数据结构和算法(一)——简介
1、数据结构
一、数据结构的基本功能
二、常用的数据结构
2、算法
一、算法的五个特征
二、算法的设计原则
Java数据结构和算法(二)——数组
1、Java数组介绍
2、用类封装数组实现数据结构
3、分析数组的局限性
Java数据结构和算法(三)——冒泡、选择、插入排序算法
1、冒泡排序
2、选择排序
3、插入排序
Java数据结构和算法(四)——栈
1、栈的基本概念
2、Java模拟简单的顺序栈实现
3、增强功能版栈
4、利用栈实现字符串逆序
5、利用栈判断分隔符是否匹配
Java数据结构和算法(五)——队列
1、队列的基本概念
2、Java模拟单向队列实现
3、双端队列
4、优先级队列
Java数据结构和算法(六)——前缀、中缀、后缀表达式
1、人如何解析算术表达式
2、计算机如何解析算术表达式
3、后缀表达式
①、如何将中缀表达式转换为后缀表达式?
②、计算机如何实现后缀表达式的运算?
4、前缀表达式
①、如何将中缀表达式转换为前缀表达式?
②、计算机如何实现前缀表达式的运算?
Java数据结构和算法(七)——链表
1、链表(LinkedList)
2、单向链表(Single-LinkedList)
①、单向链表的具体实现
②、用单向链表实现栈
4、双端链表
①、双端链表的具体实现
②、用双端链表实现队列
5、抽象数据类型(ADT)
6、有序链表
7、有序链表和无序数组组合排序
8、双向链表
Java数据结构和算法(八)——递归
1、递归的定义
2、求一个数的阶乘:n!
3、递归的二分查找
4、分治算法
5、汉诺塔问题
5、归并排序
6、消除递归
递归和栈
7、递归的有趣应用
①、求一个数的乘方
②、背包问题
③、组合:选择一支队伍
Java数据结构和算法(九)——高级排序
1、希尔排序
①、直接插入排序
②、希尔排序图解
③、排序间隔选取
④、knuth间隔序列的希尔排序算法实现
⑤、间隔为2h的希尔排序
2、快速排序
①、快速排序的基本思路
②、快速排序的算法实现
③、快速排序图示
④、快速排序完整代码
⑤、优化分析
Java数据结构和算法(十)——二叉树
1、树
树的常用术语
2、二叉树
3、查找节点
4、插入节点
5、遍历树
6、查找最大值和最小值
7、删除节点
①、删除没有子节点的节点
②、删除有一个子节点的节点
③、删除有两个子节点的节点
④、删除有必要吗?
8、二叉树的效率
9、用数组表示树
10、完整的BinaryTree代码
11、哈夫曼(Huffman)编码
①、哈夫曼编码
②、哈夫曼解码
Java数据结构和算法(十一)——红黑树
1、红-黑树的特征
2、红-黑树的自我修正
①、改变节点颜色
②、右旋
③、左旋
3、左旋和右旋代码
4、插入操作
5、删除操作
6、红黑树的效率
Java数据结构和算法(十二)——2-3-4树
1、2-3-4树介绍
2、搜索2-3-4树
3、插入
1、节点分裂
2、根的分裂
4、完整源码实现
5、2-3-4树和红黑树
①、对应规则
②、操作等价
6、2-3-4树的效率
Java数据结构和算法(十三)——哈希表
1、哈希函数的引入
2、冲突
3、开放地址法
①、线性探测
②、装填因子
③、二次探测
④、再哈希法
4、链地址法
5、桶
Java数据结构和算法(十四)——堆
1、堆的定义
2、遍历和查找
3、移除
4、插入
5、完整的Java堆代码
Java数据结构和算法(十五)——无权无向图
1、图的定义
①、邻接:
②、路径:
③、连通图和非连通图:
④、有向图和无向图:
⑤、有权图和无权图:
2、在程序中表示图
①、顶点:
②、边:
3、搜索
①、深度优先搜索(DFS)
②、广度优先搜索(BFS)
③、程序实现
4、最小生成树
Java学习路线Java线程面试题Top50Spring面试问题TOP50看完这84道面试题,不信你找不到工作SpringBoot使用Scheduled定时器任务(完)
专注于Java干货享
扫描