03 | 哈希检索:如何根据用户 ID 快速查询用户信息?
本文介绍了哈希表的原理与实现。通过哈希函数将键转换为数组下标,利用数组的随机访问特性实现O(1)级查询。针对哈希冲突,讲解了开放寻址法和链表法两种解决方案,并分析其优劣。最后指出哈希表虽高效,但存在空间消耗大、无序等缺点,适用场景需权衡。
11|精准 Top K 检索:搜索结果是怎么进行打分排序的?
搜索引擎排序核心在于打分与Top K检索。本文详解三种打分算法:经典TF-IDF衡量词频与区分度;BM25引入文档长度、词频上限等优化,效果更优;机器学习则融合数百因子自动学习权重,适应复杂场景。最后通过堆排序高效实现Top K结果返回,提升性能。
01 | 线性结构检索:从数组和链表的原理初窥检索本质
本文探讨数组与链表的检索原理及效率。数组依托连续存储支持随机访问,适合二分查找,实现O(log n)高效检索;链表则因非连续存储仅支持顺序访问,检索效率为O(n),但插入删除更灵活。通过理解二者存储特性对检索的影响,掌握“合理组织数据以缩小查询范围”的核心思想,为构建高效算法和数据结构打下基础。
二叉树基础及常见类型
二叉树是最核心的数据结构之一,不仅是红黑树、堆、字典树等复杂结构的基础,更体现了递归的思维方式。掌握二叉树,等于掌握了算法与数据结构的钥匙。从满二叉树、完全二叉树到二叉搜索树,各类变体应用广泛。通过链式存储或邻接表均可实现,是刷题与实战的必备基础。
19 | 广告系统:广告引擎如何做到在 0.1s 内返回广告信息
广告系统是互联网核心营收支柱,支撑Google、Facebook等巨头超80%收入。它需在0.1秒内完成百万级广告实时检索,属高并发、低延迟典型。本文以展示广告为例,解析其引擎架构:通过标签构建倒排索引,结合树形分片、向量检索与非精准打分预筛,优化召回效率;再用深度学习精准排序,提升匹配度。同时,在索引构建时前置过滤无效广告,压缩检索空间,并依赖全量+增量机制实现实时更新。整体设计兼顾性能与效果,实现千人千面的高效投放。