图解红黑树

红黑树的基本结构


红黑树(Red-black tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,常用于关联数组、字典等。C++ 中的标准关联容器set、multiset、map、multimap内部采用的数据结构就是红黑树。

SegmentTree

线段树


 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。线段树可以在 $O(\log_{2}{N})$ 的时间复杂度内实现单点修改、区间修改、区间查询等操作。

字典树

Trie树


 据不完全统计,世界上现存英语单词的数量为17万到100万不等。假设现在要你写一个词典APP,要求能够快速检索、删除、添加单词,。显然你很容易想到两种方案:

  1. 将所有单词按字典序排列,在按二分搜索来查询。
  2. 奖励首字母索引表,在各索引项表内按字典序排序单词,再在当中按二分搜索查询。
    但无疑上述方案的要求略高,需要大量的连续空间来存储数据,而且不方便添加删除操作。

【数据结构】树

树的基本概念


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×

😏

📷

✍️