STL
文章平均质量分 93
Frank.Ginger
coder
展开
-
笔记8:map与set的底层实现
C++STL中map,set的底层实现全是用的红黑树。为什么需要红黑树? map,set底层都提供了排序功能,且查找速度快。红黑树实际上是AVL的一种变形,但是其比AVL(平衡二叉搜索树)具有更高的插入效率,当然查找效率会平衡二叉树稍微低一点点。它可以在O(logn)时间内做查找,插入和删除,这里的n是树中元素的数目。平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下...转载 2020-03-15 18:33:11 · 1036 阅读 · 0 评论 -
笔记7:vector和list
底层实现 vector的底层结构是动态顺序表,在内存中是一段连续的空间。 list的底层结构是带头节点的双向循环链表,在内存中不是一段连续的空间。随机访问 vector支持随机访问,可以利用下标精准定位到一个元素上,访问某个元素的时间复杂度是O(1)。 list不支持随机访问,要想访问list中的某个元素只能是从前向后或从后向前依次遍历,时间复杂度是O(N)。插入和删除...转载 2020-03-15 17:56:26 · 161 阅读 · 0 评论