张福 发表于 2022-3-9 00:44:07

Python 数据结构和算法

本文介绍如何使用 Python 介绍数据结构和算法。数据结构只是存储和组织数据的一个位置或位置。它是一种在计算机上排列数据以方便访问和更新这些数据的方法。数据结构有两种类型:线性数据结构和非线性数据结构。算法是解决特定问题的方法,步骤或阶段的集合。算法是设计并建立良好的指令或一组输入,用于产生所需的输出。让我们用Python
做一个数据结构的例子 一般来说,对于存储和访问数据,这些称为list,字典,元组和set的结构非常有用。为了完全控制它们在python中的功能,最重要的数据结构是Stack,Queue,Tree,Linked List等。这些结构可以在其他编程语言中找到。重要的是要认识到,有两种数据结构旨在在Python中实现:
内置数据结构和用户定义的数据结构。内置数据结构包括:列表,元组,字典和设置
用户定义的数据结构:堆栈,队列,树,链表,图形和哈希映射。内置数据结构
这些结构有助于简化编程,因为它们是在Python中构建的。它们有助于快速找到解决方案。1.列表
设计用于按顺序存储不同类型的数据。它们具有索引,可以是正数,也可以是负数,以方便访问。
示例:
要创建列表,我们使用方括号并相应地放置任何元素。如果没有,您将获得一个空列表作为输出
如果要添加元素,请使用 append()、extend() 和 insert() 函数。
例:
[*]append() 函数将传递给它的所有元素添加为单个元素。
[*]extend() 函数将元素逐个添加到列表中。
[*]insert() 函数将传递给索引值的元素添加进来,并增加列表的大小。
如果要删除元素:
[*]要删除元素,请使用内置于Python中的del关键字,但这不会返回给我们任何东西。
[*]如果要返回元素,请使用获取索引值的 pop() 函数。
[*]若要按元素的值删除元素,请使用 _remove() _function。
如果你想访问元素:它类似于python中的字符串。您可以使用索引值,因此可以根据需要获取这些值。
还有其他功能:
[*]len() 函数向我们返回列表的长度。
[*]index() 函数查找第一次遇到该值时传递的值的索引值。
[*]count() 函数查找传递给它的值的计数。
[*]sorted() 和 sort() 函数执行相同的操作,即对列表的值进行排序。sort() 具有返回类型,而 sort() 修改原始列表。
*2. 字典 *
字典存储键值对。要创建字典,请使用花括号或使用 dict() 函数。每当您使用字典时,都必须添加键值对。
若要更改字典的值,请使用键。您可以访问该项,然后相应地更改该值。要添加值,请添加另一个键值对,如下所示。
如何删除键值对
[*]若要删除这些值,请使用 pop() 函数,该函数返回已删除的值。
[*]若要检索键值对,请使用 popitem() 函数,该函数返回键和值的元组。
[*]要清除整个字典,请使用 clear() 函数。

*如何访问元素 *
您仅使用键。您可以使用 get() 函数,也可以只传递键值,然后检索这些值。
还有其他功能
这些是:keys(), values(), items() _functions

3.元
组 元组类似于列表,不同之处在于数据一旦输入元组,无论如何都无法更改。
若要创建元组,请使用 _tuple()功能
访问元素类似于访问列表中的值。

追加值:要追加值,请使用'+'运算符,该运算符将接受另一个要追加到它的元组。

还有其他与列表类似的功能。

4.集

集是唯一的无序元素的集合。要创建集合,请使用花括号,但不是添加键值对,而只需将值传递给它。

使用集合,您可以进行运算,例如并集、交集等。您可以使用以下函数:
[*]union() 函数将两个集合中存在的数据组合在一起。
[*]intersection() 函数仅查找两个集合中存在的数据。
[*]difference() 函数删除两者中存在的数据,并输出仅存在于传递的集合中的数据。
[*]symmetric_difference() 执行与 difference() 函数相同的操作,但输出两个集中剩余的数据。

用户定义的数据结构
python 不支持这种类型的数据,但可以使用 python 支持的概念进行编程以反映相同的功能,这些概念是用户定义的数据结构。
可以通过这种方式实现的数据结构:链表,堆栈,队列,树,图形和哈希图链表
它是一种线性数据结构,其中元素不存储在连续的内存位置。
例如:

堆栈
它是允许从同一端插入和删除数据的线性结构,因此遵循最后进一出(LIFO)系统。插入和删除或删除分别称为 push() 和 pop()。

** 队列**
它是一种线性结构,允许从一端插入元素并从另一端删除元素。它遵循先进先出(FIFO)方法。末端称为队列的前端。另一端是队列的后端。


树 是非线性但分层的数据结构。树对于存储彼此之间不线性连接但形成层次结构的数据非常有用。
例:

A 图 是由节点和边组成的非线性数据结构。称为顶点的节点和边是连接图形中任意两个节点的线或弧。图形由一组有限的顶点(或节点)和一组连接一对节点的边缘组成。

哈希映射
哈希映射是索引数据结构。它们使用哈希函数将具有键的索引计算到存储桶或插槽数组中。
python
中算法的类别 从数据结构的角度来看,以下是算法搜索的
一些重要类别 - 用于搜索数据结构中项目的算法。
排序 **− 按特定顺序对项目进行排序的算法。
_Insert*_ − 在数据结构中插入项目的算法。
*更新** − 更新数据结构中现有项目的算法。
删除 − 从数据结构中删除现有项的算法。结论
数据结构有助于在python中存储和组织数据,算法是旨在产生所需输出的指令。
页: [1]
查看完整版本: Python 数据结构和算法