找到关于算法分析的210篇文章

贪心算法和动态规划的区别

AmitDiwan
更新于 2021年3月2日 05:04:41

529 次浏览

在这篇文章中,我们将了解贪心算法和动态规划方法的区别。贪心算法是一种逐步构建解决方案的算法范例。下一步的选择使得其带来最明显和直接的益处。涉及选择局部最优值的问题将有助于选择问题的全局最优值/解决方案。这些是与贪心算法相关的难题。不能保证贪心算法会产生最优解。在问题的每个阶段都做出最优选择,即局部最优解。它……阅读更多

Prim 算法和 Kruskal 算法的区别

AmitDiwan
更新于 2021年3月2日 05:02:09

793 次浏览

在这篇文章中,我们将了解 Prim 算法和 Kruskal 算法的区别。Kruskal 最小生成树 (MST) 算法:给定一个连通的无向图,该图的生成树是连接所有顶点的子图。单个图可以有多个生成树。对于加权、连通和无向图,最小生成树 (MST)(也称为最小权重生成树)是一个权重小于或等于所有其他生成树权重的生成树。生成树的权重是通过将权重……阅读更多

数据结构中的 Yen k 最短路径算法

Dev Prakash Sharma
更新于 2021年2月23日 06:35:29

1K+ 次浏览

Yen 的 k 最短路径算法不只给出单个最短路径,而是给出 k 个最短路径,以便我们可以得到第二短路径、第三短路径等等。让我们考虑这样一个场景:我们必须从 A 地点旅行到 B 地点,并且在 A 地点和 B 地点之间有多条路线可用,但是我们必须找到最短路径,并忽略所有在到达目的地的时间复杂度方面考虑较少的路径。让我们用一个例子来理解——将给定的例子作为桥梁……阅读更多

数据结构中构建表达式树的算法

Dev Prakash Sharma
更新于 2021年2月23日 18:11:51

8K+ 次浏览

表达式树表达式树是指叶子节点具有要操作的值,而内部节点包含要对叶子节点执行的操作符的树。示例4 + ((7 + 9) * 2) 将具有如下表达式树算法以构建表达式树令 T 为表达式树。如果 T 不为 NULL:如果 T->data 是一个操作数:返回 T.data A = solve(T.left) B = solve(T.right) -- > 计算 T.data 对 A 和 B 的运算符,并递归调用,返回 calculate(A, B, T.data) 如何构建表达式树?要为……阅读更多

数据结构中红黑树的插入

Dev Prakash Sharma
更新于 2021年2月5日 12:42:32

7K+ 次浏览

红黑树是一种自平衡二叉搜索树,其中树的每个节点都用红色或黑色着色。我们可以在红黑树上执行三种类型的操作——搜索、插入和删除。假设我们必须在下面的红黑树中插入一个元素。在红黑树中插入一个元素的想法很简单——我们像在常规二叉树中插入一样执行插入。我们从根节点开始,检查节点的颜色并将其插入到……阅读更多

Floyd 循环检测算法用于检测线性数据结构中的循环

Dev Prakash Sharma
更新于 2021年2月5日 12:22:42

516 次浏览

Floyd 循环是用于检测给定单链表中循环的循环检测算法之一。在 Floyd 循环算法中,我们有两个指针,它们最初都指向头部。在龟兔赛跑的故事中,兔子移动的速度是乌龟的两倍,每当兔子到达路径的尽头时,乌龟到达路径的中间。算法将 Hare 和 Tortoise 初始化为列表的头部节点。最初,兔子移动的速度是乌龟的两倍。移动兔子和乌龟,并查找兔子是否到达链表的末尾,返回……阅读更多

使用 Trie 的自动完成功能

Hafeezul Kareem
更新于 2020年9月21日 13:19:12

468 次浏览

我们有一个 Trie,当用户输入一个字符时,我们必须显示 Trie 中匹配的字符串。我们将此功能称为自动完成。例如,如果 Trie 包含“xyzzzz”、“xyz”、“xxxyyxzzz”,而用户输入 xy,那么我们必须向他们显示 xyzzzz、xyz 等。实现结果的步骤。使用标准 Trie 算法搜索字符串。如果字符串不存在,则返回 -1。如果字符串存在并且是 Trie 中单词的结尾,则打印字符串。如果匹配的字符串没有任何节点,则返回。否则打印……阅读更多

数据结构中的线段树

Arnab Chakraborty
更新于 2020年8月11日 07:52:15

405 次浏览

在本节中,我们将了解什么是线段树。在讨论之前,让我们来看一个问题。假设我们有一个数组 arr[0, …, n-1],我们可以执行以下操作——查找从索引 l 到 r 的元素之和,其中 0 ≤ l ≤ r ≤ n-1 将数组的指定元素的值更改为新值 x。我们需要执行 arr[i] = x。i 的范围是 0 到 n – 1。我们可以使用线段树来解决这个问题。线段树可以帮助我们获取总和和查询……阅读更多

数据结构中的区间树

Arnab Chakraborty
更新于 2020年8月11日 07:50:46

2K+ 次浏览

在本节中,我们将了解什么是区间树。顾名思义,区间树是与区间相关的树。因此,在讨论区间树之前,让我们先了解基本区间。区间基本上是一个范围。因此,如果一个区间写成 [a, b],则表示范围从 a 开始,到 b 结束。现在假设有一个区间 [10, 20]。所以有三个范围值。第一个是 -∞ 到 10,10 到 20,最后是 20 到 ∞。现在,假设我们将创建第二个……阅读更多

数据结构中 B+ 树的删除

Arnab Chakraborty
更新于 2020年8月11日 07:47:36

734 次浏览

在这里我们将看到如何从 B+ 树中删除节点。假设我们有一个如下所示的 B+ 树 7 示例 B+ 树 - 删除有两个部分。首先,我们必须找到元素。该策略就像查询一样。现在对于删除,我们必须注意一些规则。一个节点必须至少有 m/2 个元素。因此,如果我们删除一个元素,并且它剩下的元素少于 m-1 个,那么它将调整自身。如果整个节点都被删除,那么它的子节点将被合并,如果它们的大小与……阅读更多