🥅 哈希表

hash表的增删改查的平均时间复杂度都是O(1)

🎁 Bloom Filter概念和原理

根据哈希原理,Bloom Filter通过多个哈希函数将每一个字符串映射到内存中的每一位。判断一个元素是否属于某个集合时,Boom Filter可以把不属于这个集合的元素准确标注出来;但是有可能会把不属于这个集合的元素误认为属于这个集合

🖼️ Python 的小顶堆 heapq

今天介绍一个 Python 的库heapq,默认的堆结构是小顶堆。在很多时候使用优先队列解决问题的时候会用到。在后面和大家一起 LeetCode 刷题过程中会用到!

🪞 python的数组、栈与队列

站的list类似于vector。栈与队列可以使用python中的collections.deque

📯 Python dict和set的底层原理

python的dict、set都是基于散列表的结构。

📻 线段树与树状数组

线段树(segment tree)是用来存放给定区间(segment, or interval)内对应信息的一种数据结构。与树状数组(binary indexed tree)相似。与树状数组不同的是,线段树不止可以适用于区间求和的查询,也可以进行区间最大值,区间最小值(Range Minimum/Maximum Query problem)或者区间异或值的查询。

🥏 前缀树

前缀树的初始化、添加操作基本相同,题目变形主要是搜索操作

🛕 Huffman编码树

哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度。

🧹 二叉树

二叉树的例题一般都是以二叉树遍历为基础的。题目一般分为创建树、叶子节点、祖先节点、树的深度、树的路径等几类题目。

二叉搜索树

二叉搜索树(BST)是二叉树的一种特殊表示形式。1. 每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值;2. 每个节点中的值必须小于(或等于)存储在其右子树中的任何值。