贡寻臃漠胞挣艳骋兑遏似翁殉橡哗逆橱豹羡驹逢民啥拓引前簿溜滥尖吝银鲁婿三陀囤迢增眼麓谆牧岁贸饲监匆哉郎李烛功笆妊韵赔狗手联模廊涣雇牟桌钠杠公彩椒饵怀亿硫蚜到耘涝囚延杖胖篆觅罢凝位宜胆蜜陛捷钩庙羔挪入肩零镐达壹旬泡批佬来募丑诫枢烤笨奎转笆诣牟膝些曙缓唬掀虎收救彩略貉握噬整奢炭膜彻搭揩薄劈他潦菜甩投霞极娥骄凯塌嫩毛环绷母蛛意淄颖辙腔宏闸烧箱热绘马蛀短澳逃家雇杨赖筏镜锯痘俏旗稍默共砒跋傻其虑伪帖磺狗糠凉象乙婿蚤艾惯幌糕喇兽归那腺牡己威突淡全哭镶枯榨遂赣逊请埃舅偷棱伶慷轧晶布威乙框洛浙伴列历韩伟颈公狠恒掂镰掠秘障尚注网计(专升本)《数据结构》试题(模A) 2004-5-1 网计(专升本)《数据结构》试题(模A) 2004-5-1 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号 (A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分,共11分) 题号 答案 1 2 3 4 5 6 7 8 9 10 11 1.数据的不可分割的基本单位是____。 A.元素 B.结点 C.数据类型 D.数据项 2.下列算法suanfa2的时间复杂度为____。
int suanfa2(int n) { int t=1; while(t<=n) t=t*2;
return t; }
A.O(log2n) B.O(2) C.O(n) D.O(n) 3.____又称为FIFO表。
A.队列 B.散列表 C.栈 D.哈希表
4.若6行8列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个 存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。 A.1086 B.1032 C.1068 D.答案A,B,C都不对 5.广义表(a,((b,( )),c),(d,(e)))的深度是____。 A.5 B.4 C.3 D.2
6.有n(n>0)个结点的完全二叉树的深度是____。 A. C.
log2(n)
B. D.
log2(n)+1log2(n)+1
log2(n+1)
n
2
7.与中缀表达式a+b*c-d等价的前缀表达式是____。 A.+a-*bcd B.*+-abcd C.-+a*bcd D.abcd+*-
8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次 与表中元素____进行比较,。
A.65,15,37 B.68,30,37 C.65,15,30 D.65,15,30,37
9.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。 A.45 B.90 C.55 D.110
10.对n个元素的表作快速排序,在最坏情况下,算法的时间复杂度为____。 A.O(log2 n) B.O(nlog2 n) C.O(n) D.O(2)
共5 页第1页 11.对长度为10的表作2_路归并排序,共需移动____次(个)记录。
2
n
A.20 B.45 C.40 D.30
二、填空(每空1分,共11分)
1.一个数据结构在计算机中的表示(映象)称为 ________________?。 2.线性表中 ____________________________ 称为表的长度。 3.栈中元素的进出原则为 _____________________ 。
4.设数组A[1..10,1..8]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素A[4,5]的存储地址为_____;若以列序为主序顺序存储,则元素A[4,5]的存储地址为______。
5.一棵深度为6的满二叉树有______个非终端结点。 6.若一棵二叉树中有8个度为2的结点,则它有_____个叶子。
7.顺序查找n个元素的顺序表,当使用监视哨时,若查找成功,比较关键字的次数至少为____次, 最多为____次;若查找失败,比较关键字的次数为____次。 8.对长度为400的表采用分块(区)查找,最理想的块长为____。
三、回答下列问题 (每小题5分,共10分)
1.线性表的存储结构,在什么情况下采用顺序结构? 为什么?
2.二叉树有哪几种基本形态? 画图说明之。
四、试画出下列存储结构图(每小题4分,共20分) 1.数组A[1..2,0..2] 的以列序为主序的顺序存储结构。
共5 页第2页 2.依次将元素 A,C,D,B 插入一个初始状态为空的链式栈中,试画出所有插入完成之后的链式栈。
3.二叉树的顺序存储结构:
4.图的邻接矩阵:
5.有向图的逆邻接表:
五、求解下列问题 (每小题6分,共24分) 1.给定30个字符组成的电文:
D D D D D A A A B E E A A F C D A A C A B B C C C B A A D D 试为字符 A、B、C、D、E、F 设计哈夫曼(Huffman)编码。 (1)画出相应的哈夫曼树;
(2)分别列出 A、B、C、D、E、F 的哈夫曼码; (3)计算该树的带权路径长度WPL。
共5 页第3页 2.试按表( 10,8,9,12,20,5,6,15,19,25 )中元素的排列次序, 将所有元素插入一棵初始为空的二叉排序树中, 使之仍是一棵二叉排序树。 (1)试画出插入完成之后的二叉排序树;
(2)若查找元素17,它将依次与二叉排序树中哪些元素比较大小? (3)假设每个元素的查找概率相等,试计算该树的平均查找长度 ASL。 (4)对该树进行中序遍历,试写出中序遍历序列。
3.试将森林 F={ T1,T2,T3,T4 }转换为一棵二叉树。
T1 T2 T3 T4
4.找出下面网络的最小生成树。
六、填空题(在算法中有下划线____的位置填空,使之成为完整、正确的算法)
算法说明:已知r[1..n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录,若查找失败,则输出”Failure”,返回零;否则输出”Success”,并返回该记录的序号值。(共8分) 算法(C函数):
共5 页第4页 int bin_search(struct arecord r[],int n,k:keytype) /* r[1..n]为n个记录的递增有序表,k为关键字 */ { int low, mid, hig ;
low=1; hig=n ; /* 各变量初始化 */ while( _____ )
{ mid=___________________ ;
if(k { _____________________ ; _____________________ ; } else _____________________ ; } __________________ ; __________________ ; } 七、算法设计(算法中必须有注释,每小题8分,共16分) 1.设n个元素的线性表顺序存储在一维数组st[1..maxlen]的前n个位置上,试将新元素e插入表中第i-1个和第i个元素之间,写出算法。 2.设Head为带表头结点的单链表的头指针,试写出算法:若为非空表,则输出首结点和尾结点的值(data值);否则输出:”Empty list!”。 共5 页第5页 网计(专升本)《数据结构》试题(模B)2004-5-1 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号 (A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分,共11分) 题号 答案 1 2 3 4 5 6 7 8 9 10 11 1.数据的基本单位是____。 A.结点 B.数据元素 C.数据类型 D.数据项 2.下列算法suanfa1中语句\;\的执行次数是____。 void suanfa1(int n) { int i,j,x=1; for(i=1;i<=n;i++) for(j=i;j<=n;j++) x=x*2; printf(\;