Java数据结构的一些笔记
数组
- 插入快、查找慢、删除慢、大小固定扩展性差
- 冒泡排序 冒泡排序是由两个for循环构成,第一个for循环的变量 i 表示总共需要多少轮比较,第二个for循环的变量 j 表示每轮参与比较的元素下标【0,1,…,length-i】
- 选择排序 每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 交换次数比冒泡排序少
- 插入排序 每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。 随机数性能超过冒泡排序和选择排序
- knuth间隔序列和希尔排序
- 快速排序 分治算法 递归
算术表达式 前缀 中缀 后缀
- 理解计算机处理算术表达式原理
栈
与队列同作为构思算法的辅助工具的数据结构
- 继承Vector
- 逆序
队列
与栈同作为构思算法的辅助工具的数据结构
- 普通队列
- 双端队列
- 优先级队列
链表
- 单向
- 双向
- 有序
- 抽象数据类型ADT,模拟栈和队列
树
- 二叉树,哈夫曼树,二叉树搜索
- 红黑树
- 2-3-4树
哈希表
也称散列表,是一种根据关键字值(key - value)而直接进行访问的数据结构,基于数组,通过把关键字映射到数组的某个下标来加快查找速度,重要的问题就是如何把关键字转换为数组的下标,这个转换的函数称为哈希函数。
- 开放地址法
- 链地址法
- 桶
堆
- 不同于JVM的堆
- 是完全二叉树
- 数组实现
- 插入快,删除慢
图
是一种数据结构,最常用的数据结构之一,树是图的一种
- 邻接、路径、有向图、无向图、有权图、无权图
- 顶点、边
- 深度优先搜索、广度优先搜索
- 最小生成树 用最少的边连接所有顶点 V = E + 1
https://www.cnblogs.com/ysocean/p/7889153.html
本文深入探讨了Java中各类数据结构的特点与应用,包括数组、链表、树、哈希表及图等,解析排序算法如冒泡排序、选择排序、插入排序、快速排序,并介绍栈、队列、堆等辅助工具数据结构的使用场景。

被折叠的 条评论
为什么被折叠?



