常用数据结构(栈,队列,数组,链表,红黑树)的特点
栈:先进后出
队列:先进先出
数组:数组:查询快,增删慢。
查询快:因为数组的地址是连续的,我们可以通过数组的首地址找到数组,通过数组的索引可以快速查找莫某一个元素。
增删慢:数组长度是固定的,要想增加或删除一个元素,必须创建一个新数组,把原数组的数据复制过来
链表:查询慢,增删快。
查询慢:链表中地址不是连续的,每次查询元素,都必须从头开始查询。
增删快:链表结构,增加/删除一个元素,对链表的整体结构没有影响,所以增删快
红黑树:特点:趋近于平衡树,查询速度非常快,查询叶子节点最大次数和最小次数不能超过2倍
约束:
1,节点可以是红色的或者黑色,
2.根节点是黑色的
3,叶子节点(空节点)是黑色的
4每个红色的节点的子节点都是黑色的
5.任何一个节点到其每一个叶子结点的所有路径上黑色节点数相同