北京交通大学数据结构B上学期.docx
- 文档编号:23776376
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:12
- 大小:79.45KB
北京交通大学数据结构B上学期.docx
《北京交通大学数据结构B上学期.docx》由会员分享,可在线阅读,更多相关《北京交通大学数据结构B上学期.docx(12页珍藏版)》请在冰豆网上搜索。
北京交通大学数据结构B上学期
北京交通大学考试试题
课程名称:
数据结构(B)2011-2012学年第一学期出题教师:
张勇
(请考生注意:
(1)本试卷共有五道大题,
(2)答案一律写在答题纸上,(3)试卷不得带出考场)
题号
一
二
三
四
五
总分
得分
阅卷人
一、填空题(每空2分,共20分)
1.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为。
2.在有n个元素的链队列中,若只设队头指针,则入队和出队操作的时间复杂度分别是_____和____。
3.无向图的存储结构有数组表示法、邻接表和。
4.一个栈的输入序列为1,2,,n,若输出序列的第一个元素是n,则输出的第i(
)个元素是。
5.KMP算法比经典的模式匹配算法的改进之处在于。
6.已知一棵树如下图所示,其孩子兄弟表示为。
7.n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为。
8.快速排序法在情况下最不利于发挥其长处。
9.模式串为p=”abcabaa”,p的next函数值为。
二、选择题(每小题2分,共20分)
1.用邻接表存储图所需的存储空间大小____________
A.只与图的顶点数有关B.只与图的边数有关
C.与图的顶点数和边数都有关D.只与图是有向图还是无向图有关
2.用单向循环链表表示队列,正确的说法是()
A.可设一个头指针使入队、出队都方便
B.可设一个尾指针使入队、出队都方便
C.必须设头、尾指针才能使入队、出队都方便
D.无论如何,只可能使入队方便.
3.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最小的元素,最好采用排序法
A.堆排序B.直接插入排序
C.快速排序D.归并排序
4.具有3个节点的二叉树有种形态。
A.3 B.4 C.5 D.6
5.在n个结点的双链表的某个结点前插入一个结点的时间复杂度是_______。
A.O(n)B.O
(1)C.O(
)D.O(
)
6.用邻接表表示图进行广度优先遍历时,通常采用来实现算法
A.栈B.队列C.图D.树
7.一个图中包含有k个连通分量,若按深度优先(DFS)搜索方法访问所有节点,则必须调用()次深度优先遍历算法。
A.kB.1C.k-1D.k+1
8.下面程序段的时间复杂度为
for(i=1;i { for(j=1;j { a[i][j]=i*j; } } (A)O(m2)(B)O(n2)(C)O(m*n)(D)O(m+n) 9.在索引顺序表中查找一个元素,可用的且最快的方法是 A.用顺序查找法确定元素所在的块,再用顺序查找法在相应块中查找 B.用二分查找法确定元素所在的块,再用二分查找法在相应块中查找 C.用二分查找法确定元素所在的块,再用顺序查找法在相应块中查找 D.用顺序查找法确定元素所在的块,再用二分查找法在相应块中查找 10.关键路径是事件节点网络中。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长的回路D.最短的回路 三、判断题(10分,每小题1分) 1.无向图的邻接矩阵一定是对称矩阵,且有向图的邻接矩阵一定是非对称矩阵。 () 2.利用拓扑排序可以判断出一个有向图中是否有环(回路)()。 3.内部排序可能达到的最好的时间复杂度为O(nlogn)。 () 4.二分查找和二叉排序树的时间性能相同。 () 5.邻接表只能用于存储有向图,而邻接矩阵则可存储有向图和无向图。 () 6.平衡二叉树的中序遍历值是递增的。 () 7.负载因子(装填因子)是哈希表的一个重要参数,它反映哈希表的装满程度。 () 8.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。 () 9.简答选择排序所需比较次数与待排记录的初始状态无关。 () 10.串是由有限字符构成的连续序列,串的长度为串中字符的个数,子串是主串中字符构成的有限序列。 () 四、应用题(34分) 1.请写出下图所示的二叉树的先序序列、中序序列和后序序列。 (5分) 2.给定下列图,完成以下问题(8分) (1)画出该图的邻接矩阵和邻接表 (2)根据所画的邻接表,从顶点A出发,写出图的深度优先遍历结果 (3)根据克鲁斯卡尔算法,求它的最小生成树(不必写出全部过程,在生成树中标出边生成的次序即可) 3.将序列{12,34,25,7,15,47,65,79,47+,15}中的关键字按升序重新排列,请写出(10分) (1)冒泡排序一趟扫描的结果 (2)二路归并排序一趟排序的结果 (3)以第一个元素为分界点的快速排序一趟扫描的结果 (4)希尔排序每趟的结果(假设间隔依次为5,3,1) (5)堆排序所建的初始堆和第一趟排序结果。 4.给定如下一组关键字{16,38,31,3,25,9},哈希表长度为7,哈希地址为0到6,哈希函数为H(key)=(2key)MOD7,用线性探测再散列法处理冲突,画出得到的哈希表,并求等概率情况下查找成功时的平均查找长度。 (6分) 5、已知序列{45,11,13,49,26,14,8,3},以该序列为输入序列,建立排序二叉树,并计算等概率条件下查找成功的平均查找长度。 (5分) 五、算法设计题(16分) 算法书写要求: 应简单阐述算法的主要思想,对关键变量和关键语句进行注释;如果为递归算法,则应说明递归调用的初始条件。 写出正确的设计思想和伪代码可以酌情给分。 1.设有一个由正整数组成的无序单链表L(带头结点),编写完成下列功能的算法 (1)找出最小值结点,且打印该数值;(5分) 单链表L采用如下的存储结构: typedefstructLNode { unsignedintdata; structLNode*next; }LNode,*LinkList; 2、奇偶交换排序是另一种交换排序: 第一趟对序列中的所有奇数项i扫描,若A[i]>A[i+1],则交换它们;第二趟对序列中所有偶数项i扫描,若A[i]>A[i+1],则交换它们;第三趟对所有的奇数项i扫描,第四趟对所有的偶数项i扫描,…,如此反复,直到整个序列全部排好序为止。 写出奇偶交换排序的算法。 (6分) 3、编写递归算法,求以T为根指针的二叉树的高度(5分) 二叉树T采用如下定义的存储结构: typedefstructBiTNode { TElemTypedata; structBiTNode*lchild,*rchild; }BiTNode,*BiTree; 2011年数据结构(B)参考答案 一、填空题 1.(n+1)/2 2.O(n)O (1) 3.邻接多重表 4.n-i+1 5.每当一趟匹配过程中出现字符比较不相等时,不需回溯i指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较 6. 7.O(n+e) 8.关键字有序或基本有序 9.0111232 二、选择题 1.C2.B3.A4.C5.B 6.B7.A8.C9.C10.A 三、判断题 1.✕2.✓3.✕4.✕5.✕ 6.✓7.✓8.✕9.✓10.✕ 四、应用题 1.先序: ABDEFCGHK 中序: DBFEAGCKH 后序: DFEBGKHCA 2. (1)邻接矩阵: 邻接表: (2)V0V1V4V2V6V3V5(答案不唯一,但须与 (1)中的邻接表相匹配) (3) 其中权值为4的两条边(虚线)任选其一,边的生成次序按照其权值从小到大排列即可 3. (1)12、25、7、15、34、47、65、47+、16、79 (2)12、34、7、25、15、47、65、79、16、47+ (3)7、12、25、34、15、47、65、79、47+、16 (4) 12、34、25、7、15、47、65、79、47+、16 7、15、25、12、34、47、16、79、47+、65 7、12、15、16、25、34、47、47+、65、79 (5)初始堆: 79、47+、65、34、16、47、25、7、12、15 第一趟排序后: 65、47+、47、34、16、15、25、7、12、79 (二叉树表示方法也可) 4.哈希表为: 0 1 2 3 4 5 6 31 3 25 16 9 38 平均查找长度ASL=(2+3+2+1+2+1)/6=11/6 5.二叉排序树为: 平均查找长度ASL=(1+2X2+3X2+4X2+5)/8=3 五、算法设计题 1.#defineERROR-1 intFindMin(LinkListL) {//带头结点的单链表 intmin; LinkListp=L->next; if(! p)returnERROR; else { min=p->data; p=p->next; while(p) { if(min>p->data) min=p->data; p=p->next; } } printf(“最小值为%d\n”,min); returnmin; } 2.voidOdd_Even_Sort(intA[],intn) { inttemp; boolflag=false; while(! flag) { flag=true; for(inti=1;i { if(A[i]>A[i+1]) { temp=A[i];A[i]=A[i+1];A[i+1]=temp; flag=false; } } for(inti=0;i { if(A[i]>A[i+1]) { temp=A[i];A[i]=A[i+1];A[i+1]=temp; flag=false; } } } } 3.intHight_BiTree(BiTreeT) { inth,h1,h2; if(! T)return0; h1=Hight_BiTree(T->lchild); h2=Hight_BiTree(T->rchild); h=(h1>h2)? h1: h2)+1; return(h); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京 交通大学 数据结构 上学
![提示](https://static.bdocx.com/images/bang_tan.gif)