同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库
17.11 复习题
1.定义一个数据类型包含什么?
2.为什么程序清单17.2中的链表只能沿一个方向遍历?怎样修改struct film的定义才能双向遍历链表?
3.什么是ADT?
4.QueuelsEmpty()函数以一个指向队列的指针为参数,但它本可以编写成接受一个queue结构作为参数。两种方式的优缺点各是什么?
5.栈(stack)是列表家族的另一种数据形式。在栈中进行添加和删除只能在列表的一端进行。项目被描述成“压入”栈顶和“弹出”堆栈。所以,栈是一种LIFO结构,即后进先出(Last In, First Out)。
a.设计一个栈ADT。b.为栈设计一个C编程接口。6.当在一个含有3个项目的列表中判断某一特定项目不在此列表中时,顺序搜索和折半搜索需要进行的比较次数最多分别为多少次?当列表中有1023个项目时呢?65535个项目时呢?
7.假设某程序使用本章介绍的算法构建了一个存储单词的二叉搜索树。假设单词按照下列顺序输入,画出每种情况下的树:
a. nice food roam dodge gate office waveb. wave roam office nice gate food dodgec. food dodge roam wave office gate niced. nice roam office food wave gate dodge8.考虑复习题7构建的二叉树。依照本章的算法,删除了单词food之后,各个树是什么样子的?
请支持我们,让我们可以支付服务器费用。
使用微信支付打赏
