数据结构
1.栈(stack):先进后出
2.队列(queue):先进先出
3.数组(Array)
1.查询快:数组的地址是连续的,通过数组的首地址可以找到数组,通过数组的索引可以找到某元素。
2.增删慢:数组长度是固定的,想要删除/增加一个元素,必须创建一个新数组,将源数组复制过来。
4.链表(linked list):
1.查询慢:链表中地址不是连续的,每次查询元素需要从头开始。
2.增删快:链表中增删元素对整体结构无影响。
(单向链表只有一条链,不能保证元素顺序。双向链表两条链,是一个有序的集合。)
5.红黑树(binary tree):
1.二叉树分支不能超过两个。
2.排序树/查找数:
在二叉树的基础上,元素有大小顺序。
左子树小,右子树大。
3.平衡树左子树和右子树相等。
4.不平衡树左子树和右子树不相等。
5.红黑树:特点:趋近于平衡树,查询速度快,查询叶子节点是最大次数和最小次数不能超过两倍。