4K+ 次查看
图是一种非线性数据结构。它使用节点表示数据,使用边表示它们之间的关系。图G有两个部分:顶点和边。顶点用集合V表示,边用集合E表示。所以图的表示法是G(V, E)。让我们看一个例子来了解一下。在这个图中,有五个顶点和五条边。这些边是有方向的。例如,如果我们选择连接顶点B和D的边,则源顶点是B,目标顶点是D。所以我们可以从B移动到D,但不能从… 阅读更多
6K+ 次查看
在这里,我们将看到一些排序方法。有200多种排序技术。我们将看到其中几种。一些排序技术是基于比较的排序,一些是非基于比较的排序技术。基于比较的排序技术包括冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序等。这些技术被认为是基于比较的排序,因为在这些技术中,值被比较,并放置在不同阶段的排序位置。在这里,我们将看到这些技术的 时间复杂度。分析类型冒泡排序选择排序插入排序归并排序快速排序堆排序最佳情况O(n2)O(n2)O(n)O(log n)O(log n)O(logn)平均情况O(n2)O(n2)O(n2)O(log n)O(log n)O(log n)最坏情况O(n2)O(n2)O(n2)O(log n)O(n2)O(log n)一些排序算法是… 阅读更多
5K+ 次查看
在不同的情况下,我们执行不同的搜索方案来查找一些键。在本节中,我们将看到两种搜索技术,顺序搜索和二分搜索,之间的基本区别。顺序搜索二分搜索时间复杂度为O(n)时间复杂度为O(log n)在常数时间内找到位于第一个位置的键在常数时间内找到位于中心位置的键容器中元素的顺序不会影响。容器中的元素必须已排序数组和链表可用于实现此方法它不能直接在链表中实现。我们需要改变基本规则… 阅读更多
22K+ 次查看
抽象数据类型是一种特殊类型的 数据类型,其行为由一组值和一组操作定义。“抽象”关键字的使用是因为我们可以使用这些数据类型,可以执行不同的操作。但是这些操作是如何工作的,对用户来说是完全隐藏的。ADT是由原始数据类型构成的,但是操作逻辑是隐藏的。在这里,我们将看到栈ADT。这些是栈ADT的一些操作或函数。isFull(),用于检查栈是否已满isEmpty(),用于检查栈是否为空… 阅读更多
2K+ 次查看
在这里,我们将看到一个关于凸包的例子。假设我们有一组点。我们必须通过采用较少的点数来创建一个多边形,该多边形将覆盖所有给定的点。在本节中,我们将看到Jarvis March算法来获得凸包。Jarvis March算法用于从给定的一组数据点中检测凸包的角点。从数据集的最左点开始,我们通过逆时针旋转将点保持在凸包中。从当前点,我们可以通过检查… 阅读更多
1K+ 次查看
一组整数按排序顺序给出,另一个数组freq表示频率计数。我们的任务是使用这些数据创建一个二叉搜索树,以找到所有搜索的最小成本。创建一个辅助数组cost[n, n]来求解和存储子问题的解。成本矩阵将保存数据,以便自下而上地解决问题。输入- 节点作为键值和频率。键 = {10, 12, 20} 频率 = {34, 8, 50}输出- 最小成本为142。这些是从给定值中可能生成的BST。对于情况1,成本… 阅读更多
103 次查看
负二项分布是一种随机数分布,它将根据负二项离散分布产生整数。这被称为帕斯卡分布,因此负二项分布可以写成P⟮i⏐k,p⟯=⟮k+i−1i⟯pk⟮1−p⟯i
309 次查看
几何分布是对于n = 0, 1, 2, …的离散概率分布,具有概率密度函数P⟮n⟯=p⟮1−p⟯n
335 次查看
二项分布是获得N次伯努利试验中n次成功的离散概率分布Pp(n | N)(具有由x = 0和x = 1标记的两个可能结果。x = 1是成功,x = 0是失败。成功发生的概率为p,失败发生的概率为q,q = 1 – p.) 因此,二项分布可以写成Pp⟮n⏐ N⟯=(N n)pn⟮1−p⟯N−n
16K+ 次查看
生成树是无向图的子集,它具有通过最小数量的边连接的所有顶点。如果图中的所有顶点都已连接,则至少存在一个生成树。在一个图中,可能存在多个生成树。最小生成树最小生成树 (MST) 是连接加权无向图的所有顶点的边的子集,其总边权重最小。为了导出MST,可以使用Prim算法或Kruskal算法。因此,我们将在本章中讨论Prim算法。当我们… 阅读更多