数据结构论坛

首页 » 分类 » 常识 » Java数据结构和算法看这一篇就够了
TUhjnbcbe - 2021/9/3 5:07:00

(点击标题预览相应文章)

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干货享

扫描

1
查看完整版本: Java数据结构和算法看这一篇就够了