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