第一章绪论(参考答案) 1
3 (1) O(n ) (2) (2) O(n ) (3) (3) O(n ) (4) (4) O(n 1/2) (5) (5) 执行程序段的过程中,x ,y 值变化如下: 循环次数 x y 0(初始) 91 100 1 92 100 2 93 100 „„ „„ „„ 9 100 100 10 101 100 11 91 99 12 92 100 „„ „„ „„ 20 101 99 21 91 98 „„ „„ „„ 30 101 98 31 91 97 到y =0 时,要执行10*100 次,可记为O(10*y )=O(n ) 1
5 2100 , (2/3)n , lo g2n , n 1/2 , n 3/2 , (3/2)n , n lo g2n , 2 n , n
, n n 第二章 线性表(参考答案) 在以下习题解答中,假定使用如下类型定义: (1)顺序存储结构: #define MAXSIZE 1024 typedef int ElemType;// 实际上,ElemType可以是任意类型 typedef struct { ElemType data[MAXSIZE]; int last; // last表示终端结点在向量中的位置 }sequenlist; (2)链式存储结构(单链表) typedef struct node {ElemType data; struct node *next; }linklist; (3)链式存储结构(双链表) typedef struct node {ElemType data; struct node *prior,*next; }dlinklist; (4)静态链表 typedef struct {ElemType data; int next; }node; node sa[MAXSI