- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构测试试卷(2010-11-24)
一、选择题(在提供的4个答案中选择1-4个正确的答案)
以下A.正确性 B.可读性 C.健壮性 D.时间复杂性和空间复杂性
(3)线性表的两种存储结构是
A.内部结构和外部结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.顺序结构和非顺序结构
(4)4.队列操作的原则是
A.先进先出 B.后进先出 C.先进后出 D.不进不出
(5)二叉树的遍历方法有:
A.先序遍历二叉树 B.中序遍历二叉树 C.后序遍历二叉树 D.层次遍历二叉树
(6)如果结点A有3个兄弟, B是A的双亲结点, 则B的度是:
A.3 B.4 C.0 D.2
()“abcabcac”, 则next[j]= ,j=1..8
A B C D(8)处理冲突的方法有:
A.线性探测法 B. 除留余数法 C.链地址法 D.折叠法
()
A.拓扑排序排序排序归并排序(). 无向连通网 B. 邻接矩阵 C. 邻接表 D. 有向无环图
三、问答题 (10分)
(11)什么是栈?栈的特点是什么?若入栈次序为abc, 写出所有的可能的出栈序列。
(12)二分查找的先决条件是什么?简述二分查找过程。
四、计算题 (40分)
(13)二维数组int a[5][5]={ 0,0,2,0,0, 0,5,0,0,0, 0,0,9,0,0 ,0,0,0,0,0, 0,0,0,4,0 },若该数组第1个元素的起始地址loc(A[0][0])=1000,则loc(A[2][2])为多少?考虑可否进行压缩存储,提出存储方案,并画出其存储结构图。
(14)假设某系统在通信联络中只可能出现8个字符,其出现概率分别为:
Z K F C U D L E
2 7 24 32 37 42 42 120
构造huffman树(以较小值为左孩子),并计算树的带权路径长度。(15)在无向连通网(如下图19所示)中,用prim算法求最小生成树。要求写出求解过程。
图19
()0--10的散列地址空间中,对关键字序列构造哈希表,(){234,566,453,333,089,567,123,908,689,505}进行基数排序,算法分析与设计题 (12分)
void ins(int a[], intn, int i, int e)
{ // 在线性表a[1..n]的第i处插入新元素e
int j;
if (n==MAXSIZE) error(“线性表溢出\n”);
else if (i1 || in+1) error(“插入位置错误\n”);
else { for (j=n;j=i;j--)
a[j+1]=a[j];
a[i]=e;
n++;
}
}
(18)该算法的时间复杂度是多少?
(19)算法分析,元素的移动次数与哪些因素有关?
(20)当n个元素按无序排列时,在哪里插入新元素e最好,将插入算法重写一遍。请问重写后的算法的时间复杂度是多少?
(21)当n个元素按递增次序排列时,在哪里插入新元素e最好呢,重写插入算法。
五、算法设计题 (18分)
(22)以单链表为存储结构,写一算法,在链表中查找值为x的结点,并将该结点从链表中删除再插入到链表的表头。
二分查找过程:取中,比较;
求有序表的中间位置mid;
若r[mid].key==k,查找成功;
若r[mid].keyk,high=mid-1在左子表中继续进行二分查找;
若r[mid].keyk,low=mid+1则在右子表中继续进行二分查找。
(13) loc(A[2][2])M: i j v
0 2 2
1 1 5
2 2 9
4 3 4
(14)
WPL=(2+7)*6+24*5+32*4+(37+42+42)*3+12
文档评论(0)