|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
第一章:数据与数据的组织 《巩固与提高》 第 - 23 - 页 + p5 P& L8 Z6 v8 [+ ]/ x p9 h
1. 请针对前面用链表合并A、B两个数列的案例(图1.2.19和图1.2.20),回答下列问题。(1)该案例中如果没有头节点及其指针,两个数列的合并操作能完成吗?为什么?
: i2 r6 E) d4 |0 y7 u(2)为了完成合并处理,指针p1,q1是必需的吗?如果没有这些指针,分别会出现怎样的结果?% {) ^3 |6 ^% Z
(3)如果将该案例中的单链表改为双链表,为了实现两个数列的合并,你认为数据结构和算法分别又该是怎样的?
7 W# V! \& a# g, o0 t9 n6 t3 p(4)你觉得用链表实现数据处理的优点和缺点分别是什么?
: t! u2 r+ {+ b6 {7 c. E
5 ^8 E! B) \ R( u$ O: P4 ~1 E! m1 x7 g" Q, i" p
2. 如图1.2.22所示,羽毛球装入球筒时,总是球头朝下从“IN”端装入;从球筒中取出羽毛球时,总是从“OUT”端出来。给5个羽毛球分别以1,2,3,4,5编号,这5个羽毛球依次以1,2,3,4,5的顺序进入球筒,那么从“OUT”端取出的羽毛球的顺序是怎样的(用编号表示)?总共有多少种不同的出筒情形?这个操作过程体现了哪种数据结构的操作特征?
5 T& I( @7 z& b- E3 l3 [
1 b4 ? n3 z- L3 k, D& O2 s0 S' p9 n8 p, U
3. 如图1.2.23所示,为了确保盘子叠放得整齐和安全,洗盘子时总是洗完一个就叠放到最上方。而在取用一个盘子时,总是取最上方的盘子。现在有编号为1,2,3,4的4个盘子,按照1,2,3,4的顺序洗干净依次从下往上叠放在一起,洗盘子期间可能有人(一人或多人)会从叠放的盘子的最上方每次取走一个盘子。问:盘子被取走的编号序列一共有几种结果?请写出所有的编号排列结果。
8 \5 O2 Z* _& r" `% G8 e- J" W0 E1 f. R& n" @
* b; L/ D. Y3 o6 E- K 4. 画出包含3个节点的所有不同形态的树。
( y. L8 L* X$ s* [4 L$ l+ ]( X# Y% \5 r' H- e
3 q' x2 h: e' F8 I: U 5. 数组、链表、队列、栈都属于线性表的范畴,请从删除既有元素、插入新元素等方面的操作,简要概述基于这些数据结构的操作效率。
: r, E. g. ]7 @8 @% U# D5 {0 ~ s
4 ~1 y2 e/ a5 X- L! A2 _ |
|