4个数据结构的基本概念

来源:互联网 发布:网络信息安全问题 编辑:程序博客网 时间:2024/05/17 01:35

1、vector怎么实现动态空间分布;

vector容器基于数组实现,其元素在内存中连续存放,vector容器除了容器尾部之外,在其他任意位置插入或删除元素时,都需要移动该元素后面的所有元素。


2、map用什么实现的;

map容器指的是关联数组,所谓“关联”指的是元素的值与键之间的关联,通过键来访问值。用红黑树实现的。


3、红黑树是什么,有什么特点;

红黑树是一种自平衡二叉查找树,典型的用途是实现关联数组。

在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:

性质1. 节点是红色或黑色。
性质2. 根节点是黑色。
性质3 每个叶节点是黑色的。
性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
An example of a red-black tree
这些约束强制了红黑树的关键性质: 从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。结果是这个树大致上是平衡的。因为操作比如插入、删除和查找某个值的最坏情况时间都要求与树的高度成比例,这个在高度上的理论上限允许红黑树在最坏情况下都是高效的,而不同于普通的二叉查找树。

4、hashtable怎么实现的?

不懂,见http://blog.csdn.net/yy_msdn/article/details/4850709。

0 0
原创粉丝点击