堆是一种特殊的树结构,其中每个父节点都小于或等于其子节点。那么它被称为最小堆(Min Heap)。如果每个父节点都大于或等于其子节点,则称为最大堆(Max Heap)。实现优先级队列很有用,其中权重较高的队列项目在处理时具有较高的优先级。...
图表是通过链接连接的一组对象的图形表示。相互连接的对象由称为顶点的点表示,连接顶点的链接称为边。这里详细描述了与图相关的各种术语和功能。在本章中,我们演示如何使用 python 程序创建图形并向其中添加各种数据元素。以下是在图表上执行的基本...
算法是一个逐步的过程,它定义了一组要按特定顺序执行以实现所需输出的指令。算法通常独立于底层语言,即。算法可以用多种编程语言来实现。 从数据结构的角度来看,以下是一些重要的算法类别 - 搜索 - 在数据结构中搜索元素的算法。 排序 - 按特...
算法效率可以分执行前和执行后两个不同阶段进行分析。它们如下 -先验分析 - 这是算法的理论分析。算法的效率是通过假设所有其他因素(例如处理器速度)恒定并且对实现没有影响来衡量的。 后验分析 - 这是算法的实证分析。所选算法是使用编程语言实现...
递归允许函数调用自身。使用新值一次又一次地执行纠正代码的步骤。您还必须设置终止递归调用的条件。在下面的示例中,我演示了如何使用递归方法进行二分搜索。将排序列表及其索引范围作为递归函数的输入。 使用递归的二分搜索使用Python实现二分搜索...
回溯是递归的一种形式。但这涉及到为任何选项选择单一替代方案。我们首先选择一个选项并退出。如果达到某个条件,则可以得出结论:该特定选项无法提供所需的解决方案。对每个可用选项重复这些步骤,直到获得所需的解决方案。 以下是查找给定字母集的所有可...
遍历就是访问树的每个节点的过程,也可以打印它们的值。由于所有节点都通过边(链接)连接,因此始终从根(头)节点开始。也就是说,我们不能随机访问树中的节点。以下是三种遍历树的方法 - 顺序遍历 前序遍历 后序遍历 顺序遍历 在这种遍历方法中,...
排序是指以某种格式排列数据。排序算法确定数据如何按特定顺序排列。最常见的排序是数字顺序或词序。 排序的重要性在于,如果信息被分类存储,则可以将信息搜索优化到非常高的水平。排序还用于以更易读的格式呈现数据。我们来看看Python中实现的五种...
搜索是在不同数据结构中存储数据时的基本必需品。最简单的方法是迭代数据结构中的每个元素并将其与您要查找的值进行匹配。这称为线性搜索。它效率低下并且很少使用。让我们创建一个程序来展示如何实现一些高级搜索算法。 线性搜索在这种类型的搜索中,所有项...
图是解决许多重要数学问题非常有用的数据结构。例子包括计算机网络拓扑或化合物分子结构的分析。它们用于城市交通或路线规划,甚至用于人类语言和语法。所有这些应用程序都面临着遍历图并确保图中的每个节点都被访问的共同挑战。有两种普遍接受的执行此类爬网...