
一、非B+树不可吗? 数据库最常用的两个功能就是“等值查询”和“范围查询”。如果只是为了满足“等值查询”,那么Hash散列表和平衡二叉查找树都能...
推荐系统在很多场景都有使用,其中最常见的有如下两个场景: 寻找到和你兴趣相同的用户;比如交友软件中的好友匹配、音乐软件中寻找口味相同的听友、QQ...
一、过滤敏感词的常见做法 1.1 基于黑名单的过滤法 我们需要维护一个敏感内容的黑名单,黑名单的内容可以有如下的搜集方法: 从一些公开渠道获取常...
一、为什么要使用位图 我们先来看一个问题,假设我们有1千万个不同的整数需要存储,每个整数的大小范围是1到1亿。然后,给定任意一个整数X,我们需要...
一、问题描述 我们经常使用地图软件,输入开始、目的地点,就能给我们一条距离最短,或者用时最少,或者红绿灯最少的路径。那么地图软件是怎么样找到这些...
一、拓扑排序的使用场景 拓扑排序主要是用于在一个DAG(有向无环图)中将所有的顶点按照依赖顺序关系构造成一个线性序列。 有依赖关系的源文件编译顺...
一、为什么要使用动态规划 在前面的文章中,我们介绍了贪心算法、回溯算法,它们和动态规划一样,通常都可以用来解决多阶段决策最优解的问题。但是在一些...
一、分治算法 核心思想就是分而治之,将原问题划分为n个规模较小的,并且结构与原问题相似的子问题,而后递归地解决这些子问题,最后将其结果进行合并,...
一、什么是贪心算法 求解一个问题时有多个步骤,每个步骤都选择当下最优的那个解,而不用考虑整体的最优解。通常,当我们面对的问题拥有以下特点的时候,...
文集作者