📝 Python数据结构教程
34篇技术文档📅  最后修改于: 2020-11-07 08:30:48        🧑  作者: Mango
计算机以超乎寻常的速度和准确性存储和处理数据。因此,高效存储数据并快速访问数据至关重要。数据处理也应在尽可能短的时间内进行,但又不失准确性。数据结构处理程序在处理数据时如何组织数据并将其保存在内存中。重要的是要注意,在磁盘中作为持久性存储的一部分存储的数据(如关系表)在此不称为数据结构。算法是一步一步的指令集,用于处理特定目的的数据。因此,算法以逻辑方式利用各种数据结构来解决特定的计算问题。在本教...
📅  最后修改于: 2020-11-07 08:31:13        🧑  作者: Mango
数据结构概述数据结构是计算机科学的基本概念,有助于以任何语言编写高效的程序。 Python是一种高级,解释性,交互式且面向对象的脚本语言,与其他编程语言相比,使用该语言我们可以以更简单的方式研究数据结构的基础。在本章中,我们将简要研究一些常用数据结构,以及它们与某些特定Python数据类型的关系。还有一些特定于Python的数据结构被列为另一类。通用数据结构计算机科学中的各种数据结构大致分为以下两...
📅  最后修改于: 2020-11-07 08:31:54        🧑  作者: Mango
Python在包括Linux和Mac OS X在内的各种平台上都可用。让我们了解如何设置我们的Python环境。本地环境设置打开一个终端窗口,然后输入“Python”以查明它是否已经安装以及安装了哪个版本。Unix(Solaris,Linux,FreeBSD,AIX,HP / UX,SunOS,IRIX等)赢9x / NT / 2000Macintosh(Intel,PPC,68K)OS / 2D...
📅  最后修改于: 2020-11-07 08:32:27        🧑  作者: Mango
数组是一个容器,可以容纳固定数量的项目,这些项目应为同一类型。大多数数据结构都利用数组来实现其算法。以下是了解数组概念的重要术语。元素-存储在数组中的每个项目称为元素。索引-数组中元素的每个位置都有一个数字索引,用于标识元素。数组表示可以使用不同的语言以各种方式声明数组。下面是一个插图。根据上面的说明,以下是要考虑的重点。索引从0开始。数组长度为10,这意味着它可以存储10个元素。每个元素都可以通...
📅  最后修改于: 2020-11-07 08:32:48        🧑  作者: Mango
该列表是Python最通用的数据类型,可以将其写成方括号之间的逗号分隔值(项目)列表。关于列表的重要事项是列表中的项目不必是同一类型。创建列表就像在方括号之间放置不同的逗号分隔值一样简单。例如-与字符串索引相似,列表索引从0开始,并且列表可以被切片,连接等。访问列表中的值要访问列表中的值,请使用方括号将一个或多个索引切片,以获取该索引处可用的值。例如-执行以上代码后,将产生以下结果-更新清单您可以...
📅  最后修改于: 2020-11-07 08:33:12        🧑  作者: Mango
元组是一系列不可变的Python对象。元组是序列,就像列表一样。元组和列表之间的区别在于,不能像列表一样更改元组,并且元组使用括号,而列表使用方括号。创建元组就像放置不同的逗号分隔值一样简单。您也可以选择将这些逗号分隔的值放在括号之间。例如-空元组写为两个不包含任何内容的括号-要编写包含单个值的元组,即使只有一个值,您也必须包含逗号-像字符串索引一样,元组索引从0开始,并且可以对其进行切片,连接等...
📅  最后修改于: 2020-11-07 08:33:38        🧑  作者: Mango
在“字典”中,每个键都用一个冒号(:)与其值分隔,各项目之间用逗号分隔,整个内容都用花括号括起来。一个没有任何项目的空字典仅用两个大括号书写,例如:{}。键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是不可变的数据类型,例如字符串,数字或元组。在字典中访问值要访问字典元素,您可以使用熟悉的方括号和键来获取其值。以下是一个简单的例子-执行以上代码后,将产生以下结果-如果我们尝试...
📅  最后修改于: 2020-11-07 08:34:03        🧑  作者: Mango
二维数组是数组内的数组。它是一个数组数组。在这种类型的数组中,数据元素的位置由两个索引而不是一个索引引用。因此,它代表具有行和数据列的表。在下面的二维数组示例中,观察者看到每个数组元素本身也是一个数组。考虑每天记录4次温度的示例。有时记录仪器可能有故障,我们无法记录数据。可以将以下4天的此类数据表示为二维数组。上面的数据可以如下表示为二维数组。访问二维数组中的值可以使用两个索引来访问两个二维数组中...
📅  最后修改于: 2020-11-07 08:34:33        🧑  作者: Mango
矩阵是二维数组的特例,其中每个数据元素的大小都严格相同。因此,每个矩阵也是二维数组,反之亦然。对于许多数学和科学计算而言,矩阵是非常重要的数据结构。在上一章中,我们已经讨论了两个二维数组数据结构,因此在本章中,我们将专注于特定于矩阵的数据结构操作。我们还将使用numpy包进行矩阵数据处理。矩阵示例考虑在早晨,中午,傍晚和午夜测量1周温度的情况。可以使用numpy中的数组和整形方法将其表示为7X5矩...
📅  最后修改于: 2020-11-07 08:35:05        🧑  作者: Mango
从数学上讲,集合是指不是按特定顺序排列的项目集合。 Python集与此数学定义类似,但具有以下附加条件。集合中的元素不能重复。集合中的元素是不可变的(无法修改),但是集合作为一个整体是可变的。Python集中的任何元素都没有附加索引。因此,它们不支持任何索引或切片操作。设定作业Python中的集合通常用于诸如并集,交集,差和补码之类的数学运算。我们可以创建一个集合,访问其元素并进行如下所示的这些数...
📅  最后修改于: 2020-11-07 08:35:31        🧑  作者: Mango
Python Maps也称为ChainMap,是一种数据结构,可以将多个字典作为一个单元一起管理。组合的字典按特定顺序包含键和值对,从而消除了任何重复的键。 ChainMap的最佳用途是一次搜索多个词典,并获取正确的键值对映射。我们还看到这些ChainMap表现为堆栈数据结构。创建一个ChainMap我们创建两个字典,并使用集合库中的ChainMap方法将它们合并在一起。然后,我们打印字典组合结果...
📅  最后修改于: 2020-11-07 08:36:10        🧑  作者: Mango
链表是一系列数据元素,它们通过链接连接在一起。每个数据元素都包含指向指针形式的另一个数据元素的连接。 Python在其标准库中没有链接列表。我们使用上一章中讨论的节点的概念来实现链表的概念。我们已经了解了如何创建节点类以及如何遍历节点的元素。在本章中,我们将研究称为单链表的链表的类型。在这种类型的数据结构中,任何两个数据元素之间只有一个链接。我们创建了这样一个列表,并创建了其他方法来从列表中插入,...
📅  最后修改于: 2020-11-07 08:36:29        🧑  作者: Mango
在英语词典中,单词stack的意思是将对象排列在另一个对象上。这与在此数据结构中分配内存的方式相同。它以与将一堆盘子在厨房中一个接一个地存储的方式相似的方式存储数据元素。因此,堆栈数据结构允许在一端的操作可称为堆栈顶部。我们只能在堆栈中添加或删除元素。在堆栈中,按顺序最后插入的元素将首先出现,因为我们只能从堆栈顶部移除。这种功能称为后进先出(LIFO)功能。添加和删除元素的操作称为PUSH和POP...
📅  最后修改于: 2020-11-07 08:36:47        🧑  作者: Mango
我们在等待服务时对日常生活中的排队很熟悉。队列数据结构aslo表示在队列中排列数据元素的情况。队列的唯一性在于添加和删除项目的方式。这些项目允许在一端,但从另一端删除。因此,这是一种先进先出的方法。可以使用Python列表实现队列,我们可以使用insert()和pop()方法添加和删除元素。它们不会插入,因为数据元素总是添加在队列的末尾。将元素添加到队列在下面的示例中,我们创建一个队列类,在其中实...
📅  最后修改于: 2020-11-07 08:37:00        🧑  作者: Mango
双端队列或双端队列支持从任一端添加和删除元素。更常用的堆栈和队列是双端队列的退化形式,其中输入和输出限制为单端。...