数据存储常用的结构:栈、队列、数组、链表和红黑树。
:先进后出。
队列:先进先出。
数组
1, 查询快:数组地址使连续的,通过数组首地址可找到数组,通过数组索引可快查找某一元素。
2, 增删慢:数组长度是固定的,想要增/删一个元素,必须创建一个新数组,把源数组中的数据复制过来。
在堆内存当中,频繁创建数组,复制数组中的元素,销毁数组,效率低下。
链表
1,查询慢:链表地址不是连续的,每次查询元素,必须从头开始遍历。
2,增删快:链表结构,增删一个元素,对链表整体结构无影响,所有增删快。
链表每一个节点包括一个数据源,两个指针域(自身地址及下一个节点地址)。
单向链表:链表中只有一条链子,不能保证元素顺序(存储顺序和取出顺序可能不一致)。
双向链表:链表中有两条链子,有一条专门记录元素顺序,是一个有序集合。
简单数据结构
红黑树
由二叉树—>二叉查找树—>平衡二叉树—>红黑树进化得来。
是自平衡二叉树,是一种特殊的二叉查找树,每个节点都有存储位表示节点的颜色红色或者黑色。
特征:
1,根节点是黑色的;
2,叶子节点是黑色的;
3,其他节点可以是红色或者黑色;
4,任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同(保证左右平衡)。
简单数据结构

相关文章: