python结构类型有哪些_python编程开发数据结构都有哪些类型

本文介绍了Python编程中常见的数据结构,包括线性数据结构如栈、队列和deques。栈是一种后进先出(LIFO)的数据结构,常用于网页浏览的返回功能;队列则是先进先出(FIFO)的数据结构。文中通过实例详细解释了栈的操作,如push、pop、peek等,并提供了Python实现栈的示例。这些基础知识对于Python开发者理解和使用数据结构至关重要。
摘要由CSDN通过智能技术生成

随着互联网的不断发展,越来越多的程序员也都开始学习python编程开发的相关知识,而今天我们就通过案例分析来了解一下,python编程开发数据结构都有哪些类型。

20190924092634_878.png

一.线性数据结构

我们从四个简单但重要的概念开始研究数据结构。栈,队列,deques(双向队列),列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定。一旦一个数据元素被添加,它相对于前后元素一直保持该位置不变。诸如此类的数据结构被称为线性数据结构。

线性数据结构有两端,有时被称为左右,某些情况被称为前后。你也可以称为顶部和底部,名字都不重要。将两个线性数据结构区分开的方法是添加和移除元素的方式,特别是添加和移除元素的位置。例如一些结构允许从一端添加元素,另一些允许从另一端移除元素。

二.栈

概念:栈(有时称为“后进先出栈”)是一个元素的有序集合,其中添加移除新元素总发生在同一端。这一端通常称为“顶部”。与顶部对应的端称为“底部”。栈的底部很重要,因为在栈中靠近底部的元素是存储时间长的。近添加的元素是先会被移除的。这种排序原则有时被称为LIFO,后进先出。它基于在集合内的时间长度做排序。较新的项靠近顶部,较旧的项靠近底部。

案例:栈的例子很常见。几乎所有的自助餐厅都有一堆托盘或盘子,你从顶部拿一个,就会有一个新的托盘给下一个客人。想象桌上有一堆书,只有顶部的那本书封面可见,要看到其他书的封面,只有先移除他们上面的书。下图展示了另一个栈,包含了很多Python对象。

栈的分析与应用:

分析:和栈相关的有用的想法之一来自对它的观察。假设从一个干净的桌面开始,现在把书一本本叠起来,你在构造一个栈。考虑下移除一本书会发生什么。移除的顺序跟刚刚被放置的顺序相反。栈之所以重要是因为它能反转项的顺序。插入跟删除顺序相反。

应用:每个web浏览器都有一个返回按钮。当你浏览网页时,这些网页被放置在一个栈中(实际是网页的网址)。你现在查看的网页在顶部,你一个查看的网页在底部。如果按‘返回’按钮,将按相反的顺序浏览刚才的页面。

三.Python实现栈

栈的抽象数据类型定义:栈的抽象数据类型应该由以下结构和操作定义。栈操作如下:

Stack()创建一个空的新栈。它不需要参数,并返回一个空栈。

push(item)将一个新项添加到栈的顶部。它需要item做参数并不返回任何内容。

pop()从栈中删除顶部项。它不需要参数并返回item。栈被修改。

peek()从栈返回顶部项,但不会删除它。不需要参数。不修改栈。

isEmpty()测试栈是否为空。不需要参数,并返回布尔值。

size()返回栈中的item数量。不需要参数,并返回一个整数。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值