python 数据结构

这篇博客介绍了Python中的几种重要数据结构,包括顺序表、链表、栈和队列。顺序表在Python中表现为list,支持动态扩展,链表分为单向链表和双向链表,栈遵循后进先出(LIFO)原则,而队列则体现先进先出(FIFO)特性。文章详细阐述了每种数据结构的概念、操作及实现方式。
摘要由CSDN通过智能技术生成
抽象数据类型

抽象数据类型(ADT)的含义是指一个数学模型以及定义在此数学模型上的一组操作。即把数据类型和数据类型上的运算捆在一起,进行封装。引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。

最常用的数据运算有五种:

1. 插入
2. 删除
3. 修改
4. 查找
5. 排序

两种实现类型

顺序表:将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
链表:将元素存放在通过链接构造起来的一系列存储块中。

一. 顺序表

基本形式:顺序表的基本形式,数据元素本身连续存储,每个元素所占的存储单元大小固定相同,元素的下标是其逻辑地址
元素外置形式:将实际数据元素另行存储,而顺序表中各单元位置保存对应元素的地址信息

python中的list:

在Python的官方实现中,list就是一种采用分离式技术实现的动态顺序表。这就是为什么用list.append(x) (或 list.insert(len(list), x),即尾部插入)比在指定位置插入元素效率高的原因

二. 链表

  1. 单向链表
    节点实现
class SingleNode():
	"""单链表的结点"""
    def __init__(self, item):
        self.item = item  # 数据
        self.next = None  # 下一个节点地址
  1. 单链表的操作

     is_empty() 链表是否为空
     length() 链表长度
     travel() 遍历整个链表
     add(item) 链表头部添加元素
     append(item) 链表尾部添加元素
     insert(pos, item) 指定位置添加元素
     remove(item) 删除节点
     search(item) 查找节点是否存在
    
    <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值