数据结构之区别与实际的应用场景

本文探讨了数据结构中列表与链表的区别,列表适用于批量处理和动态调整,而链表则适合频繁的插入删除。栈和队列分别应用于符号匹配、函数调用及任务分配等场景。最后,介绍了树与图的数据结构,如B+树在数据库索引中的应用,以及图的邻接矩阵在寻找最短路径中的作用。
摘要由CSDN通过智能技术生成

列表与链表

1.列表创建刚开始是开辟了连续的空间而且连续空间的大小是一定的,插入和删除需要移动更多的元素。
列表的常用方法是append与pop,都是从尾部进行操作
链表不需要开辟连续的空间,只需要改变指针。所以它的插入与删除是常数时间。
2.列表应用场景:批量处理数据,动态调整元素个数,大部分时间是被读取切片。天然实现栈操作。
链表应用场景:频繁的插入删除元素,对线性表的长度难以估计。
列表实现栈(头部作为栈顶):

class Stack:
    def __init__(self):
        self.items=[]
    def isEmpty(self):
        return self.items==[]
    def push(self,item):
        self.items.insert(0,item)
    def pop(self):
        self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值