王秀文的博客

分类:算法基础

贪心算法 Greedy

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致 结果是全剧最好或最优的算法 贪心算法与动态规划的不同在于他对每个字问题的解决方案都做出选择,不能回退。动态规划则会 保存以前的运算结果,并根据以前的结…

724 字 · 1 分钟

分治 && 回溯

找到最近最简方法,将其拆解成可重复解决的问题 数学归纳法思维(人肉递归低效、很累 , 抵制人肉递归的诱惑) 寻找重复性 - 计算机指令集 22. 括号生成 50. Pow(x, n)

96 字 · 1 分钟

启发式搜索

启发式函数: h(n),它用来评价哪些结点最有希望的是一个我们要找的结 点,h(n) 会返回一个非负实数,也可以认为是从结点n的目标结点路径的估 计成本。 启发式函数是一种告知搜索方向的方法。它提供了一种明智的方法来猜测 哪个邻居结点会导向…

281 字 · 1 分钟

并查集 Disjoint Set

并查集(union & find) 是一种树形结构,用于处理一些不交集(Disjoint Sets) 的合并及查询问题 Find: 确定元素属于哪一个子集。他可以被用来确定两个元素是否属于同一个子集。 Union: 将两个子集合合并成同一个…

338 字 · 1 分钟

trie 树

字典树,即 Trie 树,又称单词 查找树或键树,是一种树形结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 1. 根…

282 字 · 1 分钟

用数组存储 二三树 AVL 红黑树 B 树 B+ ⭐️slpay 伸展树 ⭐️treap 树的面试题一般都是递归的,这是为什么? 树的遍历 二叉搜索树 demo 看是否有环,有环为图 <https://en.wikipedia.org/wi…

1465 字 · 3 分钟

递归

去的过程叫“递”,回来的过程叫“归” 写递归代码的关键就是找到如何将大问题分解为小问题的规律,并且基于此写出递推公式,然后再推敲终止条件,最后将递推公式和终止条件翻译成代码 编写递归代码的关键是,只要遇到递归,我们就把它抽象成一个递推公式,…

517 字 · 1 分钟

LRU Cache

<https://www.jianshu.com/p/b1ab4a170c3c Understanding the Meltdown exploit 缓存文件置换机制 缓存文件置换机制 中文 146. LRU缓存机制

127 字 · 1 分钟

排序

1. 比较类排序: 通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 2. 非比较类排序: 不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时 间下界,以线性时间运行,因此…

1053 字 · 2 分钟

第 2 / 3 页 · 共 29 篇