游客3wlkklvxbishq_个人页

游客3wlkklvxbishq
个人头像照片
37
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2025年12月

  • 12.12 08:43:20
    发表了文章 2025-12-12 08:43:20

    20 | 推荐引擎:没有搜索词,「头条」怎么找到你感兴趣的文章?

    本文深入解析了资讯类App推荐引擎的检索技术。通过“下拉刷新”这一简单操作,系统能在无搜索词情况下精准推荐内容,核心在于个性化召回机制。文章详细讲解了基于内容的召回与协同过滤(用户/物品)两大算法,揭示其如何通过用户行为数据、画像构建及向量相似度计算实现高效推荐,并探讨多策略混合与分层排序的工程实践,展现推荐系统的智能与灵活性。
  • 12.12 08:42:44
    发表了文章 2025-12-12 08:42:44

    19 | 广告系统:广告引擎如何做到在 0.1s 内返回广告信息

    广告系统是互联网核心营收支柱,支撑Google、Facebook等巨头超80%收入。它需在0.1秒内完成百万级广告实时检索,属高并发、低延迟典型。本文以展示广告为例,解析其引擎架构:通过标签构建倒排索引,结合树形分片、向量检索与非精准打分预筛,优化召回效率;再用深度学习精准排序,提升匹配度。同时,在索引构建时前置过滤无效广告,压缩检索空间,并依赖全量+增量机制实现实时更新。整体设计兼顾性能与效果,实现千人千面的高效投放。
  • 12.12 08:42:06
    发表了文章 2025-12-12 08:42:06

    18 | 搜索引擎:输入搜索词以后,搜索引擎是怎么工作的?

    搜索引擎通过爬虫、索引与检索三大系统,实现从万亿网页中快速精准查找信息。本文详解其工作原理,包括分词、纠错、短语检索及位置索引等核心技术,揭示搜索背后的智能机制。(239字)
  • 12.12 08:41:30
    发表了文章 2025-12-12 08:41:30

    17 | 存储系统:从检索技术角度剖析 LevelDB 的架构设计思想

    LevelDB是Google开源的高性能键值存储系统,基于LSM树优化,采用跳表、读写分离、SSTable分层与滚动合并等技术,结合BloomFilter、缓存机制与二分查找,显著提升读写效率,广泛应用于工业级系统中。(239字)
  • 12.12 08:40:56
    发表了文章 2025-12-12 08:40:56

    16 | 最近邻检索(下):如何用乘积量化实现「拍照识花」功能?

    AI时代,图片检索依赖高效向量相似搜索。本文解析聚类算法与局部敏感哈希差异,详解K-Means聚类、乘积量化压缩及倒排索引技术,揭示“以图搜图”背后原理,实现海量高维数据快速精准检索。(238字)
  • 12.12 08:40:23
    发表了文章 2025-12-12 08:40:23

    15 | 最近邻检索(上):如何用局部敏感哈希快速过滤相似文章?

    在搜索引擎与推荐系统中,相似文章去重至关重要。通过向量空间模型将文档转化为高维向量,利用SimHash等局部敏感哈希技术生成紧凑指纹,结合海明距离与抽屉原理分段索引,可高效检索近似重复内容,在百亿网页中快速过滤雷同结果,提升用户体验。该方法适用于文本、图像等多种对象的相似性检测。
  • 12.12 08:39:44
    发表了文章 2025-12-12 08:39:44

    14 | 空间检索(下):「查找最近的加油站」和「查找附近的人」有何不同?

    本文探讨了动态范围内查找“最近的k个”地理对象的高效检索方案。针对查询范围不固定的应用场景,如找最近加油站或医院,传统GeoHash分块检索效率低。文章提出利用四叉树、非满四叉树和前缀树优化:四叉树通过层次化空间划分支持快速范围扩展;非满四叉树动态分裂节点,提升稀疏数据下的存储利用率;前缀树则适用于GeoHash字符串编码的索引,实现高效路径匹配。进一步介绍了k-d树在高维空间的应用局限,并引出高维场景下的近邻检索挑战。
  • 12.12 08:39:02
    发表了文章 2025-12-12 08:39:02

    13 | 空间检索(上):如何用 Geohash 实现「查找附近的人」功能?

    本文介绍了如何高效实现“查找附近的人”功能,针对大规模系统提出基于区域划分与Geohash编码的检索方案。通过将二维空间划分为带编号的区域,并利用一维编码(如Geohash)建立索引,可大幅提升查询效率。支持非精准与精准两种模式:前者直接查所在区域,后者结合邻近8区域扩大候选集以保证准确性。Geohash将经纬度转为字符串编码,便于存储与比较,广泛应用于Redis等系统。适用于社交、餐饮、出行等LBS场景。
  • 12.12 08:38:25
    发表了文章 2025-12-12 08:38:25

    12 | 非精准 Top K 检索:如何给检索结果的排序过程装上加速器

    本文介绍了非精准 Top K 检索的优化思路与三种实现方法:基于静态质量得分排序截断、胜者表利用词频打分、分层索引两阶段检索。核心思想是将复杂计算移至离线,在线快速截断,降低打分开销。结合精准检索的两阶段架构,可显著提升检索效率,广泛应用于搜索与推荐系统中。
  • 12.12 08:37:55
    发表了文章 2025-12-12 08:37:55

    11|精准 Top K 检索:搜索结果是怎么进行打分排序的?

    搜索引擎排序核心在于打分与Top K检索。本文详解三种打分算法:经典TF-IDF衡量词频与区分度;BM25引入文档长度、词频上限等优化,效果更优;机器学习则融合数百因子自动学习权重,适应复杂场景。最后通过堆排序高效实现Top K结果返回,提升性能。
  • 12.12 08:37:10
    发表了文章 2025-12-12 08:37:10

    10 | 索引拆分:大规模检索系统如何使用分布式技术加速检索?

    在大规模检索系统中,分布式技术通过拆分倒排索引提升性能。常见方案有基于文档的水平拆分和基于关键词的垂直拆分。前者将文档集分割,各分片独立建索引,支持并行检索与高效扩展;后者按词典切分,减少请求复制但易引发负载不均。工业界多采用文档拆分,因其扩展性好、运维简单,且可通过副本机制避免热点问题,适合搜索引擎、推荐系统等场景。
  • 12.12 08:36:22
    发表了文章 2025-12-12 08:36:22

    09 | 索引更新:刚发布的文章就能被搜到,这是怎么做到的

    本文介绍了工业界倒排索引的高效更新机制。针对小规模内存索引,采用Double Buffer实现无锁读写;对于大规模索引,则使用“全量+增量”索引方案,结合删除列表处理删改操作,并通过完全重建、再合并或滚动合并等策略管理增量数据,提升检索效率与系统稳定性。
  • 12.12 08:35:44
    发表了文章 2025-12-12 08:35:44

    08 | 索引构建:搜索引擎如何为万亿级别网站生成索引?

    针对超大规模数据场景,如搜索引擎对万亿网页索引时,倒排索引远超内存容量。为此,工业界采用分治与多路归并思想:先将文档分批,在内存中为每批构建小型倒排索引,并写入磁盘临时文件;随后通过多路归并技术合并有序临时文件,生成全局有序的最终倒排文件。该过程类似MapReduce模型,支持分布式并行处理,大幅提升效率。检索时,优先将词典加载至内存(如用哈希表或FST压缩结构),结合B+树或跳表等技术高效访问磁盘中的posting list,辅以缓存机制优化频繁查询,实现高效检索。
  • 12.12 08:35:02
    发表了文章 2025-12-12 08:35:02

    07 | NoSQL 检索:为什么日志系统主要用 LSM 树而非 B+ 树?

    B+树适用于关系型数据库,但在日志、监控等高频写入场景下性能受限。LSM树通过将数据分内存(C0树)和磁盘(C1树)两层,利用批量写入、WAL日志恢复与滚动合并机制,大幅提升写入效率,更适合写多读少的大数据应用。
  • 12.12 08:34:27
    发表了文章 2025-12-12 08:34:27

    06丨数据库检索:如何使用 B+ 树对海量磁盘数据建立索引?

    本节深入探讨磁盘环境下大规模数据检索的挑战与解决方案,重点解析B+树如何通过减少磁盘访问次数、实现索引与数据分离,支持高效查找、范围查询及动态调整,成为数据库索引的核心技术。
  • 12.12 08:33:17
    发表了文章 2025-12-12 08:33:17

    05 | 倒排索引:如何从海量数据中查询同时带有「极」和「客」的唐诗?

    本文通过唐诗检索的类比,深入浅出地讲解了正排索引与倒排索引的核心原理。正排索引以文档ID为键,适用于精确查找;而倒排索引则以关键词为键,指向包含该词的文档列表,极大提升了多关键词联合查询效率。文章详细介绍了倒排索引的构建过程、链表归并求交集的查询优化方法,并拓展到作者维度检索等实际应用场景,揭示其在搜索引擎、数据库全文检索等系统中的核心地位。
  • 12.12 08:32:31
    发表了文章 2025-12-12 08:32:31

    04 | 状态检索:如何快速判断一个用户是否存在?

    本文探讨高效判断对象是否存在的技术方案,对比有序数组、二叉树、哈希表的查询性能,引出位图与布隆过滤器。位图利用bit级存储,节省空间;布隆过滤器通过多哈希函数压缩数组长度,实现O(1)查询,适用于允许误判的场景,如用户注册、网页抓取去重。二者在时间与空间效率上优于传统结构,广泛应用于缓存、搜索引擎等系统中。
  • 12.12 08:31:03
    发表了文章 2025-12-12 08:31:03

    03 | 哈希检索:如何根据用户 ID 快速查询用户信息?

    本文介绍了哈希表的原理与实现。通过哈希函数将键转换为数组下标,利用数组的随机访问特性实现O(1)级查询。针对哈希冲突,讲解了开放寻址法和链表法两种解决方案,并分析其优劣。最后指出哈希表虽高效,但存在空间消耗大、无序等缺点,适用场景需权衡。
  • 12.12 08:30:14
    发表了文章 2025-12-12 08:30:14

    02 | 非线性结构检索:数据频繁变化的情况下,如何高效检索?

    通过树状结构与跳表优化数据检索,本文探讨如何在非线性结构中实现高效二分查找。对比有序数组、二叉检索树与跳表,解析其在动态数据场景下的性能优劣与适用边界。
  • 12.12 08:29:38
    发表了文章 2025-12-12 08:29:38

    01 | 线性结构检索:从数组和链表的原理初窥检索本质

    本文探讨数组与链表的检索原理及效率。数组依托连续存储支持随机访问,适合二分查找,实现O(log n)高效检索;链表则因非连续存储仅支持顺序访问,检索效率为O(n),但插入删除更灵活。通过理解二者存储特性对检索的影响,掌握“合理组织数据以缩小查询范围”的核心思想,为构建高效算法和数据结构打下基础。
  • 12.12 08:28:34
    发表了文章 2025-12-12 08:28:34

    多叉树的递归/层序遍历

    多叉树是二叉树的扩展,每个节点可有多个子节点。遍历方式与二叉树类似,DFS递归遍历无中序位置;BFS层序遍历通过队列实现,可记录深度或适配加权边,三种写法灵活适用不同场景。(239字)
  • 12.12 08:26:54
    发表了文章 2025-12-12 08:26:54

    二叉树的递归/层序遍历

    本文详解二叉树的两种遍历方式:DFS(递归遍历)和BFS(层序遍历)。DFS通过递归按“左→右”顺序遍历,前/中/后序取决于代码位置;BFS借助队列实现逐层遍历,常用于求最短路径。三种BFS写法逐步进阶,适用于不同场景。DFS适合找所有路径,BFS更优解最短路径问题。
  • 12.12 08:26:12
    发表了文章 2025-12-12 08:26:12

    二叉树基础及常见类型

    二叉树是最核心的数据结构之一,不仅是红黑树、堆、字典树等复杂结构的基础,更体现了递归的思维方式。掌握二叉树,等于掌握了算法与数据结构的钥匙。从满二叉树、完全二叉树到二叉搜索树,各类变体应用广泛。通过链式存储或邻接表均可实现,是刷题与实战的必备基础。
  • 12.11 11:07:26
    发表了文章 2025-12-11 11:07:26

    用拉链法实现哈希表

    本文详解哈希表中拉链法的实现原理,通过简化版与完整版Java代码,介绍如何用链表解决哈希冲突,支持泛型、动态扩容及增删查改操作,帮助深入理解哈希表底层机制。
  • 12.11 11:05:43
    发表了文章 2025-12-11 11:05:43

    哈希表核心原理 哈希表等于Map吗?

    哈希表不等于Map。Map是键值映射的接口,哈希表(如HashMap)是其一种实现。增删查改O(1)的前提是哈希函数高效且冲突处理得当。本文详解哈希表原理、哈希冲突解决、负载因子与key不可变性,助你深入理解底层机制。
  • 12.11 11:04:26
    发表了文章 2025-12-11 11:04:26

    双端队列(Deque)原理及实现

    双端队列支持在队头和队尾高效地插入、删除和访问元素,时间复杂度均为O(1)。相比标准队列的“先进先出”,它更灵活,如同两端可进出的天桥。可用链表或环形数组实现,常用于需双向操作的场景,算法题中Python使用较多。
  • 12.11 11:03:45
    发表了文章 2025-12-11 11:03:45

    用数组实现队列/栈

    使用数组实现栈时,可将动态数组尾部作为栈顶,利用ArrayList的add和remove操作实现push、pop等,时间复杂度均为O(1)。若以头部为栈顶,则需借助环形数组CycleArray实现高效操作。同样,基于CycleArray可在首尾分别进行出队和入队,轻松实现队列功能,保证操作效率。
  • 12.11 11:02:57
    发表了文章 2025-12-11 11:02:57

    环形数组技巧

    环形数组通过模运算在逻辑上形成闭环,利用start和end双指针实现首尾O(1)增删。虽物理结构线性,但通过取余操作使指针循环,结合左闭右开区间设计,高效支持动态扩容缩容,适用于队列、双端队列等场景。
  • 12.11 11:01:41
    发表了文章 2025-12-11 11:01:41

    用链表实现队列/栈

    本文介绍如何用链表实现栈和队列,利用双链表头尾操作均为O(1)的特性,高效实现栈的push/pop和队列的入队/出队操作,并引出数组实现队列时的性能问题,为后续优化埋下伏笔。
  • 12.11 11:00:53
    发表了文章 2025-12-11 11:00:53

    队列/栈基本原理

    本文介绍队列和栈的基本原理。二者均为“操作受限”的数据结构:队列仅能在队尾入队、队头出队,符合“先进先出”(FIFO);栈仅能在栈顶进行插入和删除,遵循“先进后出”(FILO)。底层多由数组或链表实现,核心API包括push、pop、peek和size,操作时间复杂度均为O(1)。
  • 12.11 10:59:56
    发表了文章 2025-12-11 10:59:56

    单/双链表代码实现

    本文详解双链表与单链表的MyLinkedList实现,重点解析三大关键:1)持有头尾节点引用以优化插入删除效率;2)使用虚拟头尾节点简化边界处理;3)正确理解Java链表删除中的内存释放机制。代码涵盖增删查改等基本操作,结构清晰,适合学习链表底层实现原理。
  • 12.11 10:58:59
    发表了文章 2025-12-11 10:58:59

    链表(链式存储)基本原理

    本文深入讲解链表数据结构,对比力扣中常见的单链表与编程语言标准库中的双链表。介绍链表的节点结构、内存存储方式及其优缺点:相比数组,链表无需连续空间,增删高效但不支持随机访问。详细演示单/双链表的查、改、增、删操作,并通过代码示例解析实现逻辑,帮助读者掌握链表核心原理与指针操作技巧。
  • 12.11 10:57:59
    发表了文章 2025-12-11 10:57:59

    动态数组代码实现

    本文详解动态数组的增删查改实现,重点解析三大关键点:自动扩缩容策略(2倍扩容、1/4缩容)、索引越界检查(区分元素与插入位置),以及删除元素时置null防内存泄漏。代码基于Java实现,帮助理解底层原理与时间复杂度。
  • 12.11 10:56:59
    发表了文章 2025-12-11 10:56:59

    数组(顺序存储)基本原理

    本章讲解数组的底层原理,区分静态数组与动态数组。静态数组是连续内存空间,支持O(1)随机访问,但增删效率低;动态数组基于静态数组封装,自动扩容并提供便捷API,广泛用于实际开发。通过手动实现动态数组,理解其增删查改机制及时间复杂度,为学习更复杂数据结构打下基础。(239字)
  • 12.11 10:55:41
    发表了文章 2025-12-11 10:55:41

    算法精进专题

    本文介绍时间与空间复杂度入门知识,用Big O表示法(如O(1)、O(n)、O(n²))估算算法性能。复杂度关注最坏情况,时间复杂度看循环嵌套层数,空间复杂度看额外内存占用。通过多个代码示例讲解常见复杂度分析方法,帮助初学者快速掌握算法效率评估基础。
  • 12.11 10:54:16
    发表了文章 2025-12-11 10:54:16

    SpringAI+DeepSeek大模型应用开发

    SpringAI整合主流大模型,支持对话、函数调用与RAG,提供统一API,简化开发。涵盖多模态、流式传输、会话记忆等功能,助力快速构建AI应用。
  • 12.11 10:49:26
    发表了文章 2025-12-11 10:49:26

    SpringAI+DeepSeek大模型应用开发

    本章介绍AI核心概念与大模型原理。AI历经三阶段发展,Transformer模型推动其飞跃。该模型基于注意力机制,可处理文本、图像、音频等数据,实现智能生成与推理。大语言模型(LLM)如GPT、DeepSeek均基于此,通过持续预测下一个词,逐字生成连贯内容,实现对话、创作等功能。
  • 发表了文章 2025-12-12

    06丨数据库检索:如何使用 B+ 树对海量磁盘数据建立索引?

  • 发表了文章 2025-12-12

    03 | 哈希检索:如何根据用户 ID 快速查询用户信息?

  • 发表了文章 2025-12-12

    02 | 非线性结构检索:数据频繁变化的情况下,如何高效检索?

  • 发表了文章 2025-12-12

    16 | 最近邻检索(下):如何用乘积量化实现「拍照识花」功能?

  • 发表了文章 2025-12-12

    11|精准 Top K 检索:搜索结果是怎么进行打分排序的?

  • 发表了文章 2025-12-12

    08 | 索引构建:搜索引擎如何为万亿级别网站生成索引?

  • 发表了文章 2025-12-12

    01 | 线性结构检索:从数组和链表的原理初窥检索本质

  • 发表了文章 2025-12-12

    07 | NoSQL 检索:为什么日志系统主要用 LSM 树而非 B+ 树?

  • 发表了文章 2025-12-12

    14 | 空间检索(下):「查找最近的加油站」和「查找附近的人」有何不同?

  • 发表了文章 2025-12-12

    20 | 推荐引擎:没有搜索词,「头条」怎么找到你感兴趣的文章?

  • 发表了文章 2025-12-12

    二叉树基础及常见类型

  • 发表了文章 2025-12-12

    04 | 状态检索:如何快速判断一个用户是否存在?

  • 发表了文章 2025-12-12

    17 | 存储系统:从检索技术角度剖析 LevelDB 的架构设计思想

  • 发表了文章 2025-12-12

    19 | 广告系统:广告引擎如何做到在 0.1s 内返回广告信息

  • 发表了文章 2025-12-12

    13 | 空间检索(上):如何用 Geohash 实现「查找附近的人」功能?

  • 发表了文章 2025-12-12

    09 | 索引更新:刚发布的文章就能被搜到,这是怎么做到的

  • 发表了文章 2025-12-12

    12 | 非精准 Top K 检索:如何给检索结果的排序过程装上加速器

  • 发表了文章 2025-12-12

    18 | 搜索引擎:输入搜索词以后,搜索引擎是怎么工作的?

  • 发表了文章 2025-12-12

    15 | 最近邻检索(上):如何用局部敏感哈希快速过滤相似文章?

  • 发表了文章 2025-12-12

    10 | 索引拆分:大规模检索系统如何使用分布式技术加速检索?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息