01 | 线性结构检索:从数组和链表的原理初窥检索本质
本文探讨数组与链表的检索原理及效率。数组依托连续存储支持随机访问,适合二分查找,实现O(log n)高效检索;链表则因非连续存储仅支持顺序访问,检索效率为O(n),但插入删除更灵活。通过理解二者存储特性对检索的影响,掌握“合理组织数据以缩小查询范围”的核心思想,为构建高效算法和数据结构打下基础。
二叉树基础及常见类型
二叉树是最核心的数据结构之一,不仅是红黑树、堆、字典树等复杂结构的基础,更体现了递归的思维方式。掌握二叉树,等于掌握了算法与数据结构的钥匙。从满二叉树、完全二叉树到二叉搜索树,各类变体应用广泛。通过链式存储或邻接表均可实现,是刷题与实战的必备基础。
19 | 广告系统:广告引擎如何做到在 0.1s 内返回广告信息
广告系统是互联网核心营收支柱,支撑Google、Facebook等巨头超80%收入。它需在0.1秒内完成百万级广告实时检索,属高并发、低延迟典型。本文以展示广告为例,解析其引擎架构:通过标签构建倒排索引,结合树形分片、向量检索与非精准打分预筛,优化召回效率;再用深度学习精准排序,提升匹配度。同时,在索引构建时前置过滤无效广告,压缩检索空间,并依赖全量+增量机制实现实时更新。整体设计兼顾性能与效果,实现千人千面的高效投放。
15 | 最近邻检索(上):如何用局部敏感哈希快速过滤相似文章?
在搜索引擎与推荐系统中,相似文章去重至关重要。通过向量空间模型将文档转化为高维向量,利用SimHash等局部敏感哈希技术生成紧凑指纹,结合海明距离与抽屉原理分段索引,可高效检索近似重复内容,在百亿网页中快速过滤雷同结果,提升用户体验。该方法适用于文本、图像等多种对象的相似性检测。
二叉树的递归/层序遍历
本文详解二叉树的两种遍历方式:DFS(递归遍历)和BFS(层序遍历)。DFS通过递归按“左→右”顺序遍历,前/中/后序取决于代码位置;BFS借助队列实现逐层遍历,常用于求最短路径。三种BFS写法逐步进阶,适用于不同场景。DFS适合找所有路径,BFS更优解最短路径问题。
测一测丨检索算法基础,你掌握了多少?
本文解析了多种数据结构的查询效率与适用场景,涵盖无序/有序数组、链表、二叉检索树、跳表、哈希表、位图及布隆过滤器等。重点比较了它们在插入、查找、遍历等操作的时间空间代价,并探讨了倒排索引的设计原理与应用,如搜索引擎中的高效检索策略。同时指出各类结构的优缺点:如哈希表查询快但空间开销大,有序数组紧凑但插入慢,二叉搜索树性能依赖平衡性等。还澄清了常见误区,例如二分查找不适用于链表,开放寻址法中不能用二分查找解决冲突等。最后通过布隆过滤器和倒排索引的实际案例,说明如何根据业务需求选择合适的数据结构以优化系统性能。