图解红黑树

红黑树的基本结构


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

SegmentTree

线段树


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

DisjointSet

一文读懂并查集


 假设你现在置身于一个鸡尾酒会中,任何人都不能通过直接搭讪来获得陌生漂亮妹子的微信号。于是你委托你的朋友帮忙,你的朋友委托他的朋友。。。直到找到一位与漂亮妹子认识的人拿到了微信号。因此,你通过这些中间朋友与妹子取得了联系,成功进入了她的社交圈。当然,你可以通过她认识跟多的漂亮妹子,走上人生巅峰。

字典树

Trie树


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

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

【数据结构】 字符串

串的定义

【数据结构】栈与队列


栈和队列的基本概念


【数据结构】线性表


线性表的基本概念与实现

【数据结构】树

树的基本概念

【数据结构】数组、矩阵、和广义表


数组:


Your browser is out-of-date!

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

×

😏

📷

✍️