分类: 数据结构与算法
thumbnail

Go语言性能优化-两数之和算法性能研究

承题 点开题库,看了第一题,我们看看这道题: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样……
thumbnail

Python图遍历算法:深度优先、广度优先

图在解决许多重要的数学难题中是非常有用的数据结构。 例如计算机网络拓扑或分析化学化合物的分子结构。 它们还用于城市交通或路线规划,甚至用于人类语言和语……
thumbnail

Python高级搜索算法实现的程序演示

将数据存储在不同的数据结构中时,搜索是非常基本的必需条件。 最简单的方法是遍历数据结构中的每个元素,并将其与要搜索的值进行匹配。 这就是所谓的线性搜索……
thumbnail

Python排序算法:5种方式的代码实现

排序是指以特定格式排列数据。 排序算法指定按特定顺序排列数据的方式。 最常见的排序是数字或字典顺序。 排序的重要性在于,如果数据是以分类方式存储,数据……
thumbnail

Python算法设计:树的节点遍历(顺序、前序、后序)

遍历是访问树的所有节点的过程,也可以打印它们的值。 因为所有节点都通过边(链接)连接,所以始终从根(头)节点开始。 也就是说,我们不能随机访问树中的一个节……
thumbnail

Python回溯:查找给定字母集合的所有可能排列顺序的示例

回溯是递归的一种形式。 但它涉及选择任何可能性的唯一选择。我们从选择一个选项开始,并从中退出。如果达到一个状态,会得出这样的结论:这个特定的选项不能提……
thumbnail

Python递归:实现二进制搜索算法

递归允许函数自调用。 修复代码的步骤会一次又一次地执行新值。 还必须设置判断递归调用何时结束的标准。 在下面的例子中,演示如何使用二进制搜索的递归方法……
thumbnail

Python算法设计:复杂度的分析

算法的效率可以在执行之前和执行之后的两个不同阶段进行分析。 它们如以 - 先验分析 - 这是一种算法的理论分析。通过假定所有其他因素(例如处理器速度)是恒定……
thumbnail

Python算法设计:如何编写算法?

算法是一个循序渐进的过程,它定义了一组指令,以一定的顺序执行以获得所需的输出。 算法通常独立于底层语言,即算法可以以多种编程语言实现。 从数据结构的角……
thumbnail

Python数据结构教程:图的创建及添加元素

图是一组对象通过链接连接的一组对象的图形表示。 互连对象由称为顶点的点表示,连接顶点的链接称为边。 在这里详细描述了与图相关的各种术语和功能。 在本章……
thumbnail

Python数据结构教程:堆(特殊的树结构)

堆是一种特殊的树结构,其中每个父节点小于或等于其子节点。 然后它被称为最小堆(Min Heap)。 如果每个父节点大于或等于其子节点,则称它为最大堆(Max Heap)。……
thumbnail

Python数据结构教程:二叉搜索树(BST)

二叉搜索树(BST)是一棵树,其所有节点都遵循下述属性 - 节点的左子树的键小于或等于其父节点的键。 节点的右子树的键大于其父节点的键。 因此,BST将其所有子……
thumbnail

Python数据结构教程:散列(哈希表)

散列表(也叫哈希表)是一种数据结构,其数据元素的地址或索引值由散列函数生成。 这使得访问数据的速度更快,因为索引值是数据值的关键字。 换句话说,哈希表存……
thumbnail

Python数据结构教程:高级链表(双向链表)

另一种链接列表,可以向前和向后移动遍历。 这种链表称为双向链表。 以下是双向链表的特点。 双向链表包含第一个和最后一个的链接元素。 每个链接都有一个数……
thumbnail

Python教程:双端队列

双端队列(或两端队列)具有从任一端添加和删除元素的功能。 Deque模块是集合库的一部分。 它具有添加和删除可以直接用参数调用的元素的方法。 在下面的程序中,……
thumbnail

Python教程:队列

当等待一项服务时,对日常生活中的排队很熟悉。 队列数据结构同样意味着数据元素排列在一个队列中。 队列的唯一性在于项目添加和删除的方式。 这些对象可以放……
thumbnail

Python教程:堆栈数据操作

英语词典中,堆(Stack)表示将对象放在另一个对象上。 在这个数据结构中分配内存的方式是一样的。 它以类似的方式存储数据元素,类似在厨房中一堆盘子:一个在另……
thumbnail

Python教程:链表(一系列数据元素)

链表是一系列数据元素,通过链接连接在一起。 每个数据元素都以指针的形式包含到另一个数据元素的连接。 Python在其标准库中没有链接列表。 我们使用前一章讨……
thumbnail

Python教程:节点(指针)

有些情况下,存储数据的内存分配不能位于连续的内存块中。 所以接受指针的帮助,其中数据和数据元素的下一个位置的地址也被存储。 所以从当前数据元素的值中知……
thumbnail

Python教程:集合(不以任何特定顺序的数据项)

数学上,集合(Set)是不以任何特定顺序的数据项。 Python集合与此数学定义类似,但有以下附加条件。 集合中的元素不能重复。 集合中的元素是不可变的(不能被修……
thumbnail

Python教程:矩阵特有的数据结构操作

矩阵是二维数组的特殊情况,它的每个数据元素具有严格相同的大小。 所以每个矩阵也是一个二维数组,但反之亦然。 矩阵是许多数学和科学计算中非常重要的数据结……
thumbnail

Python教程:二维数组

二维数组是数组中的数组。 它是一个数组的数组。 在这种类型的数组中,数据元素的位置由两个索引,而不是一个索引来引用。 所以它表示了一个包含行和列的数据……
thumbnail

Python教程:字典

Python字典中,每个键和值之间使用冒号(:)分隔,每个项之间用逗号(,)隔开,整个字典数据用大括号括起来。 如果是没有任何项目的空字典则使用两个大括号编写,……
thumbnail

Python教程:元组

元组是一系列不可变的Python对象。 元组是一种序列,就像列表一样。 元组和列表的区别在于,不同于列表和元组使用中括号 - (),而列表使用方括号 - [],并且元……