1. 如何理解 “贪心算法” 假设我们有一个可以容纳 100 Kg 物品的背包,可以装各种物品。我们有以下 5 种...[作者空间]
网站上的敏感词过滤是怎么实现的呢? 实际上,这些功能最基本的原理就是字符串匹配算法,也就是通过维护一个敏感词的字典...[作者空间]
当你在搜索引擎中输入想要搜索的一部分内容时,搜索引擎就会自动弹出下拉框,里面是各种关键词提示,这个功能是怎么实现的...[作者空间]
在所有的字符串匹配算法中,KMP 算法是最知名的,实际上,它和 BM 算法的本质是一样的。 1. KMP 算法基本...[作者空间]
文本编辑器中的查找功能是如何实现的呢? 文本编辑器中的查找功能本质上就是一个字符串匹配过程,因此可以用 BF 算法...[作者空间]
单模式匹配算法,也就是一个字符串和另一个字符串进行匹配。 1. BF 算法 BF 算法中的 BF 是 Brute ...[作者空间]
在社交网络中,有一个六度分割理论,具体是说,世界上任何互不相识的两人,平均只需要六步就能够建立起联系。一个用户的一...[作者空间]
1. 如何理解 “图” 图由顶点(vertex)和边(edge)组成,顶点之间通过边来建立一种联系。 生活中有很多...[作者空间]
1. 堆的应用一:优先级队列 优先级队列,顾名思义,它首先应该是一个队列。队列最大的特性就是先进先出,而在优先级队...[作者空间]
1. 堆的概念 堆是一种特殊的树,一个堆需要满足如下两个条件: 一个堆是一个完全二叉树; 堆中每个节点的值都必须大...[作者空间]
递归代码的时间复杂度分析起来非常麻烦,今天我们尝试来借助递归树分析递归算法的时间复杂度。 1. 递归树与时间复杂度...[作者空间]
1. 实现红黑树的基本思想 实际上,红黑树是有固定的平衡过程的:遇到什么样的节点分布,我们就对应怎么去调整。只要按...[作者空间]
1. 平衡二叉查找树 平衡二叉树的严格定义是这样的:二叉树中任意一个节点的左右子树的高度相差不能大于 1。从这个定...[作者空间]
1. 二叉查找树(Binary Search Tree) 二叉查找树是二叉树中最常用的一种类型,也叫二叉搜索树。二...[作者空间]
1. 树(Tree) 首先我们来看几个树的例子。 在一个树结构里,每个元素我们称之为节点,从上到下相邻节点连线的关...[作者空间]
1. 应用五:负载均衡 负载均衡算法有很多,比如论询、随机、加权轮询等。那如何才能实现一个会话粘滞(session...[作者空间]
网站是怎么存储用户的密码这些重要数据的呢,仅仅 MD5 加密一下存储就够了吗? 1. 什么是哈希算法? 首先,我们...[作者空间]
散列表和链表经常组合起来使用,但它们是如何组合起来使用的,为什么它们会经常一块使用呢? 1. LRU 缓存淘汰算法...[作者空间]
散列表的查询效率并不能笼统地说成是 ,它和散列函数、装载因子、散列冲突等都有关系。如果散列函数设计得不好,或者装载...[作者空间]
之前我们知道,二分查找依赖数组的随机访问,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找了吗?而...[作者空间]