Python学习笔记第十四天

    链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域(内存空间),另一个是指向下一个结点的指针域。根据指针的指向,链表能形成不同的结构。例如:单链表,双向链表,循环链表等。
优点:
很常用的一种数据结构,不需要初始化容量,可以任意加减元素;
添加或删除元素时只需要改变前后两个元素结点的指针域指向地址即可,所以添加删除速度很快。
缺点:
因含有大量的指针域,占用空间较大;
查找元素需要遍历链表来查找,非常耗时。
使用场景:数据量较小,需要频繁添加删除操作的场景。
单向循环链表
cur游标遍历节点
count用来计数
cur.next==self.head遍历了整个链表 退出循环
空链表头插法 否则尾插法
栈与队列
栈数据结构  只能在同一侧进出元素   特点是后进先出
使用场景 :栈常应用于实现递归功能方面的场景,例如斐波那契数列。 
使用顺序表或者单链表可以实现栈
顺序表使用头部操作 单链表使用尾部操作减少时间复杂度
队列
队列也是一种线性表 。队列在一端添加元素,在另一端取出元素 。特点:先进先出
使用场景 : 因为队列先进先出的特点,在多线程阻塞队列管理中非常适用。
双端队列 两端都可以进出元素
将两个栈合在一起来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值