检索算法和技术的本质回顾_pcb的组织方法hash方法
目录
二、数组和链表的线性结构检索
(一)基本分析
(二)使用二分查找提升数组检索效率
(三)灵活改造链表提升检索效率
问题背景
解决方案
歌曲块链表的设计
基本设计
检索操作
具体代码实现验证
三、树和跳表非线性结构检索
(一)基本分析
树(通常是平衡二叉搜索树)
跳表
总结
(二)树结构如何进行二分查找
理论基础
代码验证
(三)二叉检索树的检索空间平衡方案
平衡二叉搜索树(AVL树)
红黑树
伸展树
平衡方案说明
(四)跳表如何进行二分查找
基本思想回顾
重新回忆下删除和插入操作
简单代码展示
四、哈希检索
(一)基本的常识分析
基本原理
特点和优点
注意事项和限制
(二)扩展知识分析
Java 8后的HashMap优化:链表转换为红黑树+红黑树退化为链表
链表转换为红黑树
红黑树退化为链表
(三)哈希表缺点分析
(四)哈希函数的应用举例
五、状态检索
(一)基本说明
常见应用场景和简单实现
(二)位图(Bitmap)和布隆过滤器(Bloom Filter)
位图(Bitmap)
布隆过滤器(Bloom Filter)
选择位图或布隆过滤器
(三)扩展:布隆过滤器误判率举例分析
六、倒排索引
(一)正排索引理解
(二)倒排索引理解
(三)如何创建倒排索索引举例
(四)查询倒排索索引举例分析
七、总结
干货分享,感谢您的阅读!
检索的核心思路,其实就是通过合理组织数据,尽可能地快速减少查询范围。也就是说到更多的检索算法和技术,其实它们的本质都是通过灵活应用各种数据结构的特点来组织数据,从而达到快速减少查询范围的目的。
以下主要内容主要针对其涉及的基本技术进行回顾总结。
一、数据结构和存储特点对检索效率的重大影响总结
检索是一种从存储数据的地方高效地获取所需信息的技术。检索效率与数据存储方式之间存在紧密联系,而研究不同数据结构的存储特点对检索效率的影响非常重要。
-
数据结构选择:不同的数据结构适用