栈
先进后出
入:压栈
出:弹栈
队列
先进先出
入口和进口在两侧
数组
查问快:地址间断,通过首地址与索引能够疾速查找某个元素
增删慢:长度不变,减少/删除必须创立新数组,再把源数组复制过去,再把源数组的地址赋给新数组,源数组就会主动销毁
链表
查问慢:链表中地址不间断,每次查问元素都必须从头开始查问
增删快:链表构造,减少/删除一个元素,对链表的整体构造没有影响
链表总的每一个元素也称为一个节点
一个节点蕴含了一个数据源(存储数组),两个指针域(存储地址)
一个节点:
单向链表:
链表中只有一条链子,不能保障元素的程序(存储元素和取出元素的程序有可能不统一)
无序
双向链表:
链表中有两条链子,有一条链子是专门记录元素的程序,是一个有序的汇合
下一个节点记住上一个节点的地址,上一个节点也记住上一个节点的地址
有序
树
计算机的树(倒着)
二叉树:
分支不能超过两个
排序树/查找树:
在二叉树的根底上,元素的是有大小程序的
左子树小,右子树大
均衡树:
左孩子数量和右孩子数量相等
不均衡树:
左孩子数量 != 右孩子数量
红黑树
特点:
趋于均衡式,查问速度十分的快,查问叶子节点最大次数和最小次数不能超过2倍。
束缚:
1.节点能够是红色的或者彩色的
2.根节点是彩色的
3.叶子节点(空节点)的彩色的
4.每个红色的节点的子节点都是彩色的
5.任何一个节点到其每一个叶子节点的所有门路上彩色节点数雷同