Ruby 数据结构与算法:栈和队列详解
1. 栈相关内容
1.1 复习问题
- 问题 1 :栈抽象数据类型(ADT)中的
pop()操作返回一个栈,而栈接口中的pop()操作返回类型为 T 的值,为什么会有这样的差异? - 问题 2 :容器接口中的
size()操作应该返回栈的容量还是当前栈中元素的数量?在ArrayStack实现中,此操作应返回什么值? - 问题 3 :
LinkedStack中的节点为每个栈元素持有一个引用,增加了存储数据所需的空间。这是否否定了LinkedStack比ArrayStack更有效地使用空间的说法?
1.2 练习题
- 陈述关于栈 T ADT 的另外三个公理。
- 假设
ArrayStack实现为顶部元素始终存储在store[0]处。如果栈操作的前置条件被违反,会有什么优缺点? - 使用
ArrayStack或LinkedStack的程序员如何确保其代码不会因违反前置条件而失败? -
LinkedStac
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



