索引

首页 标签 索引
# 索引 #
关注
66697内容
|
13小时前
|
广告系统:广告引擎如何做到在 0.1s 内返回广告信息?
广告系统是互联网公司核心营收支柱,如Google、Facebook超80%收入来自广告。其背后依赖高性能广告引擎,实现高并发、低延迟的精准投放。本文深入解析广告引擎架构,涵盖标签检索、向量匹配、打分排序与索引优化四大关键技术,揭示如何在0.1秒内完成从请求到返回的全流程,支撑千人千面的智能广告体验。
|
13小时前
|
索引更新:刚发布的文章就能被搜到,这是怎么做到的?
本文介绍工业级倒排索引的高效更新机制。针对小规模内存索引,采用Double Buffer实现无锁读写;对于大规模索引,则使用“全量+增量”索引方案,结合删除列表处理删改操作,并通过完全重建、再合并或滚动合并策略管理增量数据增长,提升系统性能与稳定性。
|
13小时前
|
空间检索(下):「查找最近的加油站」和「查找附近的人」有何不同?
本文回顾了利用四叉树在二维空间高效检索最近k个元素的方法,适用于动态查询场景。通过递归划分空间,四叉树可快速定位目标区域,避免满四叉树的空间浪费,常用非满四叉树优化存储。类似思想也适用于GeoHash编码的前缀树索引,提升检索效率。(239字)
|
13小时前
|
双指针技巧秒杀七道数组题目
双指针技巧常用于数组和链表问题,分为左右指针和快慢指针。快慢指针多用于原地修改,如有序数组或链表去重:fast遍历,slow维护无重复部分,避免频繁数据搬移,时间复杂度低至O(N)。
|
13小时前
|
哈希表核心原理
本文深入剖析哈希表底层原理,澄清常见误区:Map是接口,哈希表是实现。通过哈希函数将key映射为数组索引,实现O(1)增删查改。详解哈希冲突的两种解决方式——拉链法与开放寻址法,探讨负载因子、扩容机制及遍历顺序无序的原因。强调不可变类型作key的重要性,避免因hashCode变化导致键值对丢失。助你真正理解哈希表的工作机制。
|
14小时前
|
二叉树基础及常见类型
二叉树是最核心的数据结构之一,不仅是红黑树、堆、图等复杂结构的基础,更体现了递归的思维方式。掌握二叉树,等于掌握了算法与数据结构的钥匙。从满二叉树、完全二叉树到二叉搜索树,各类变体广泛应用。通过链式存储或哈希表模拟,可灵活实现。后续章节将深入剖析其原理与应用。
|
14小时前
|
数组(顺序存储)基本原理
本章讲解数组的底层原理,区分静态数组与动态数组。通过手动实现动态数组的增删查改,深入理解其基于静态数组的运行机制,掌握随机访问、数据搬移与扩容等核心概念,为学习更复杂数据结构打下基础。
|
14小时前
|
队列/栈基本原理
本文介绍队列和栈的基本原理。二者均为“操作受限”的数据结构:队列仅能在队尾入队、队头出队,遵循“先进先出”(FIFO);栈只能在栈顶进行插入和删除,遵循“先进后出”(FILO)。底层可由数组或链表实现,核心API包括push、pop、peek和size,不同语言命名可能不同,但功能一致。后续将用代码实现这些结构。
|
14小时前
|
单/双链表代码实现
本文详解双链表与单链表的自定义实现,重点讲解三大核心技巧:1)同时持有头尾节点引用,提升尾部操作效率;2)使用虚拟头尾节点简化边界处理;3)正确理解Java链表删除中的内存释放机制。代码涵盖增删查改等基本操作,结构清晰,适合学习参考。
|
14小时前
|
数组(顺序存储)基本原理
本章讲解数组的底层原理,区分静态数组与动态数组。静态数组是连续内存空间,支持O(1)随机访问,但增删效率低;动态数组基于静态数组封装,提供自动扩容与常用API,使用更便捷。我们将手动实现动态数组的增删查改,深入理解其运行机制,为后续学习栈、队列等结构打基础。
免费试用