#数据结构与算法
值得一提的跳表
forword 数组记录后驱节点,update 数组记录前驱节点,这两个数组很重要
字典树
常用于高效地存储和检索字符串集合。它的主要特点是利用字符串的公共前缀来减少存储空间和提高查询效率,特别适用于字符串的前缀匹配、自动补全、拼写检查等场景
d叉堆
事实证明,没有任何理由要求分支因子 1 是固定的并且一定等于 2。实际上,任何大于 2 的值也都可以用于堆,而且可以使用相同的数组来进行存储
数据压缩之霍夫曼树
霍夫曼编码是一种无损数据压缩算法
LFU 和 LRU 内存淘汰策略
LFU 和 LRU 是比较经典的内存淘汰策略
最小编辑距离
最小编辑距离旨在定义两个字符串之间的相似度
解决TopK问题之优先队列
就两个核心操作:上浮和下沉
三大经典排序算法
快速排序,归并排序,堆排序
实现海量数据快速查找之哈希表
学习源码数据结构,要学会从基础开始,并且结合已有资料来加快整个进程。学习源码的思想是最重要的。
基于二叉搜索树实现Map容器的基本操作
二叉搜索数最难的就是删除,它有三种情况。首先应该处理有两个子节点的情况,降级为叶子节点。我们后面就只需要处理叶子节点或单个子节点情况。后面这两种情况记得考虑为根节点的特殊情况,同时要更新相关的成员信息,比方说 left、right、parent 的最新指向等