6、Ruby 数据结构与算法:栈和队列详解

Ruby 数据结构与算法:栈和队列详解

1. 栈相关内容

1.1 复习问题

  • 问题 1 :栈抽象数据类型(ADT)中的 pop() 操作返回一个栈,而栈接口中的 pop() 操作返回类型为 T 的值,为什么会有这样的差异?
  • 问题 2 :容器接口中的 size() 操作应该返回栈的容量还是当前栈中元素的数量?在 ArrayStack 实现中,此操作应返回什么值?
  • 问题 3 LinkedStack 中的节点为每个栈元素持有一个引用,增加了存储数据所需的空间。这是否否定了 LinkedStack ArrayStack 更有效地使用空间的说法?

1.2 练习题

  1. 陈述关于栈 T ADT 的另外三个公理。
  2. 假设 ArrayStack 实现为顶部元素始终存储在 store[0] 处。如果栈操作的前置条件被违反,会有什么优缺点?
  3. 使用 ArrayStack LinkedStack 的程序员如何确保其代码不会因违反前置条件而失败?
  4. LinkedStac
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值