乐趣区

关于java:java学习笔记6数据结构

先进后出
入:压栈
出:弹栈

队列

先进先出
入口和进口在两侧

数组

查问快:地址间断,通过首地址与索引能够疾速查找某个元素
增删慢:长度不变,减少 / 删除必须创立新数组,再把源数组复制过去,再把源数组的地址赋给新数组,源数组就会主动销毁

链表

查问慢:链表中 地址不间断 ,每次查问元素都必须 从头开始查问
增删快:链表构造,减少 / 删除一个元素,对链表的整体构造没有影响

链表总的每一个元素也称为一个 节点
一个节点蕴含了 一个数据源 (存储数组), 两个指针域(存储地址)

一个节点:

单向链表:

链表中只有一条链子,不能保障元素的程序(存储元素和取出元素的程序有可能不统一)

无序

双向链表:

链表中有两条链子,有一条链子是专门记录元素的程序,是一个有序的汇合

下一个节点记住上一个节点的地址,上一个节点也记住上一个节点的地址
有序

计算机的树(倒着)

二叉树:

分支不能超过两个

排序树 / 查找树:

在二叉树的根底上,元素的是有大小程序的
左子树小,右子树大

均衡树

左孩子数量和右孩子数量相等

不均衡树:

左孩子数量!= 右孩子数量

红黑树

特点:
趋于均衡式,查问速度十分的快,查问叶子节点最大次数和最小次数不能超过 2 倍。

束缚:
1. 节点能够是红色的或者彩色的
2. 根节点是彩色的
3. 叶子节点(空节点)的彩色的
4. 每个红色的节点的子节点都是彩色的
5. 任何一个 节点 到其每一个 叶子节点 的所有门路上 彩色节点数 雷同

退出移动版