重学数据结构-线性表\栈

顺序表,非循环单链表,循环单链表,循环双链表

顺序表

按逻辑次序存放在一组地址连续的存储单元里.

非循环单链表

以链式结构存储的线性表位线性链表,其特点是线性表中的数据元素可以分布在任意的存储单元,逻辑相邻的元素存储单元可以是不连续的.

数据元素(数据信息data,指针next).

单链表:每个结点只有一个指针域,终端结点的指针域设置空NULL,又称非循环单链表,应另外设置头指针head指向开始结点,从而唯一确定链表.

循环单链表

如果将非循环单链表终端结点指针域的值NULL改为指向开始结点,则整个链表形成一个环,构成循环单链表.

循环单链表由头指针head唯一确定.循环单链表没有指针域为空的结点,所以指针p沿着链表做遍历操作时,其终止条件是判断它们是否等于头指针.

循环双链表

在循环单链表中,给每个结点增加一个指针域prior,用于指向其前驱结点,第一个点的前去指针prior指向最后一个结点.

循环双链表由头指针head唯一确定.



顺序表 链表

分配方式: 静态分配 动态分配

适用于线性表长度变化不大的情况 适用于线性表的长度变化较大,只要内存空间尚有空闲,就不会产生溢出.

若长度变化大,则存储规模难于预先确定

存储密度: 为1,节约存储空间 小于1


存储方法: 随机存储结构 需从第一个节点开始顺着链表滑动才能取得

适于查找操作较多的应用,对表的任一结

点都可在O(1)时间内直接取得.

插入删除操作: 平均要移动近一半的结点,尤其当每个结点 只需要修改指针,对于插入和删除较频繁的线性表,宜采用链表做存储结构.

的信息量较大时,所花得时间多


栈是一种特殊的线性表,被广泛应用于表达式的计算\递归问题的非非递归求解以及停车场的调度模拟等各种实际问题.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值