美文网首页
deque和红黑树(boolan)

deque和红黑树(boolan)

作者: 坏水强 | 来源:发表于2017-12-09 23:19 被阅读0次

deque:http://zh.cppreference.com/w/cpp/container/deque

deque是一种分段连续的数据结构,它的iterator可以跨段寻找。

stack,queue是一种适配器,可以将deque,list封装成相应的数据结构,stack和queue不提供iterator,因为这两种线性表本来就不支持数据的查找和遍历。queque不可以选择vector作为底层支持,因为vector移除前面的数据效率很低,没有提供函数接口pop_front.

-----------------------------------------------------------------------------------------------------

rb_tree:https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91

红黑树是一种变相的2-4 树,即一种变异B-树,一种宽松的平衡二叉树,插入元素时即保证排序,树的高度也不会超过黑高度的两倍(每一分支的黑节点树木相同,且红节点不相邻)。树的操作最繁琐的是插入和删除,红黑树的插入和删除只涉及局部的旋转和染色,不会打破树的整体结构。

set,multiset,map ,multimap是基于rb_tree的适配器。我们无法使用它们的iterator修改红黑树的节点,否则树会重新排序。

适配器:通过引用底层容器的“typedef”来封装自己,或者继承底层容器,单只公开部分接口(参考课件标准库.pdf的Page133)。

----------------------------------------------------------------------------------------------------------

hashtable:https://zh.wikipedia.org/wiki/%E5%93%88%E5%B8%8C%E8%A1%A8

unordered_set,unorder_map的底层结构,典型的空间换时间。

相关文章

  • deque和红黑树(boolan)

    deque:http://zh.cppreference.com/w/cpp/container/deque de...

  • 第八周 笔记

    本周主要学习: 1、deque双向扩展,是queue和stack的底层实现 2、关联容器,红黑树(有序)和hash...

  • Boolan(博览网)——STL与泛型编程(第八周)

    目录 深度探索 deque 浅谈 queue & stack 浅谈 RB-tree(红黑树) 浅谈 set/mul...

  • C++ STL与泛型编程-第三篇 (Boolan)

    C++ STL与泛型编程-第三篇 (Boolan) 本章内容:1 deque&queue和stack深度探索2 R...

  • 算法+红黑树

    参考下面博客,侵删 目录1 红黑树的介绍2 红黑树的应用 3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(...

  • 数据结构—树—红黑树

    红黑树概述 红黑树的插入 红黑树的删除

  • STL源码解析(1)-红黑树

    STL源码解析(1)-红黑树 STL容器之红黑树实现 C++中map和set都是基于红黑树的实现, 其迭代器也是红...

  • 红黑树笔记

    红黑树:R-B Tree [toc]参考:红黑树(一)之 原理和算法详细介绍红黑树(五)之 Java的实现 1 简...

  • 红黑树专题

    0.目录 1.算法导论的红黑树本质上是2-3-4树 2.红黑树的结构和性质 3.红黑树的插入 4.红黑树的删除 5...

  • TreeMap

    需要先了解红黑树,这是之前分析红黑树的文章。之前在分析红黑树时,我认为红黑树=二叉查找树+红黑平衡,关于二叉查找树...

网友评论

      本文标题:deque和红黑树(boolan)

      本文链接:https://www.haomeiwen.com/subject/yugpixtx.html