数据结构-------线性表,链表,栈,队列

线性表,链表,栈,队列

时间复杂度

算法:时指令的集合,时为了解决特定问题二规定的一系列操作
时间复杂度,空间复杂度时间复杂度:
时间频度:一个算法花的时间与算法中语句的执行次数成正比,一个算法中语句执行次数称为语句频度或者时间频度,表示T(n),n表示问题的规模,时间复杂度:想知道问题的规模,而不是具体的次数,此时映入时间复杂度
T(n)=O(f(n))

空间复杂度:

只需要分析出输入和程序之外的辅助变量所占的额外空间
记作:S(n) = O(g(n))

线性表

线性表时n个类型相同的数据元素的优先序列
1、 相同的数据类型
2、 序列(顺序性)
3、 有限
线性表中数据的个数n定义为先行表的长度,n是个有限值

链表

线性表特点是用一组任意的存储单元存储线性表的数据元素,同时还存储一个指向后继信息的信息,这两部分信息组成为结点。结点包含两部分数据域和指针域。指针域存储信息成为指针或链。链表中只包含一个指针域,故称为单链表。但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

栈(stack )又称堆栈,它是运算受限的线性表。

  • 其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。
  • 表中进行插入、删除操作的一端称为 栈顶(top) ,栈顶保存的元素称为 栈顶元素。
  • 相对的,表的另一端称为栈底(bottom)
  • 当栈中没有数据元素时称为空栈;
  • 向一个栈插入元素又称为 进栈或 入栈;
    *从一个栈中删除元素又称为 出栈或 退栈。
  • 由于栈的插入和删除操作仅在栈顶进行,后进栈的元素必定先出栈,
    所以又把堆栈称为 后进先出表(Last In First Out,简称 LIFO)
    在这里插入图片描述

队列

队列(queue )简称队,它同堆栈一样,也是一种运算受限的线性表,

  • 其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。
  • 在队列中把插入数据元素的一端称为 队尾(rear) ),删除数据元素的一端称为 队首(front) )。
  • 向队尾插入元素称为 进队或入队,新元素入队后成为新的队尾元素;
  • 从队列中删除元素称为 离队或出队,元素出队后,其后续元素成为新的队首元素。
  • 由于队列的插入和删除操作分别在队尾和队首进行,每个元素必然按照进入的次序离队,
  • 也就是说先进队的元素必然先离队,所以称队列为 先进先出表(First In First Out,简称FIFO)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值