马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
第一章:数据与数据的组织 《巩固与提高》 第 - 23 - 页
3 h. [% N+ F) ?5 a6 D n T* Q$ P 1. 请针对前面用链表合并A、B两个数列的案例(图1.2.19和图1.2.20),回答下列问题。(1)该案例中如果没有头节点及其指针,两个数列的合并操作能完成吗?为什么?9 M6 _% {$ d7 V
(2)为了完成合并处理,指针p1,q1是必需的吗?如果没有这些指针,分别会出现怎样的结果?9 X4 W+ l+ @7 v, E6 A
(3)如果将该案例中的单链表改为双链表,为了实现两个数列的合并,你认为数据结构和算法分别又该是怎样的?4 m J: `9 }' f# P
(4)你觉得用链表实现数据处理的优点和缺点分别是什么? o& ? J8 e' Y3 P
3 [, N9 D. B9 X% u. ?& R
4 P: h4 n& t6 M! b 2. 如图1.2.22所示,羽毛球装入球筒时,总是球头朝下从“IN”端装入;从球筒中取出羽毛球时,总是从“OUT”端出来。给5个羽毛球分别以1,2,3,4,5编号,这5个羽毛球依次以1,2,3,4,5的顺序进入球筒,那么从“OUT”端取出的羽毛球的顺序是怎样的(用编号表示)?总共有多少种不同的出筒情形?这个操作过程体现了哪种数据结构的操作特征?
& F% q& `' ^) l( ?9 w4 r
3 D. d0 \9 K) Q4 }" z9 }, t5 K6 {/ t) j/ D
3. 如图1.2.23所示,为了确保盘子叠放得整齐和安全,洗盘子时总是洗完一个就叠放到最上方。而在取用一个盘子时,总是取最上方的盘子。现在有编号为1,2,3,4的4个盘子,按照1,2,3,4的顺序洗干净依次从下往上叠放在一起,洗盘子期间可能有人(一人或多人)会从叠放的盘子的最上方每次取走一个盘子。问:盘子被取走的编号序列一共有几种结果?请写出所有的编号排列结果。! S3 s3 ~8 m, ]6 @, G9 P/ Q5 M
$ p; D; A1 ]" U
& ^+ C( H7 A, Q& A0 Q 4. 画出包含3个节点的所有不同形态的树。
0 s4 i v; C+ `6 w6 f2 A! N
+ {/ e" ~; \; V0 [6 Q3 Y
& l' G1 ?1 E" n( M 5. 数组、链表、队列、栈都属于线性表的范畴,请从删除既有元素、插入新元素等方面的操作,简要概述基于这些数据结构的操作效率。5 \; C9 Y+ H: M: B& T- B$ Y; ?' ]
! G1 H' q& U y( {, A- u
|