数据结构期末考试试题第一套

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构期末考试 试卷1
(答题时间:120分钟,满分:100分)
题 号 得 分 第一 部分 第二 部分 第三 部分 第四 部分 总 分 核分 人
得 分 评卷 人 一、判断题:(共10分,每题1分) 1. 顺序表和一维数组一样,都可以按下标随机(或直接)访问。( ) 2. 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用 需要建立的。( ) 3. 只有用面向对象的计算机语言才能描述数据结构算法。( ) 4. 在对双向循环链表做删除一个结点操作时,应先将被删除结点的前 驱结点和后继结点链接好再执行删除结点操作。( ) 5. 递归的算法简单、易懂、容易编写,而且执行效率也高。( ) 6. 在AOE网络中一定只有一条关键路径。( ) 7. 二叉树是一棵无序树。( ) 8. 在任何情况下,快速排序需要进行关键码比较的次数都是 O(nlog2n)。( ) 9. 图的深度优先搜索是一种典型的回溯搜索的例子,可以通过递归算 法求解。( ) 10. 当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位 置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。( ) 得
5、将下图转换为二叉树,对转换后的二叉树进行先序、中序、后序遍 历序列。(6分) A B C D E F G J
五、程序题(20分) 1. 将下面算法填完整。(10分,每空2分) int Search_Bin(SSTable ST, KeyType key){ //在有序表ST中折半查找其关键字等于key的数据元素,若找到, 则返回该元素//在表中的位置,否则返回0 low=1;high=ST.length; while(low<=high){ mid=____________; if(EQ(key, ST.elem[mid].key)) return ____________; else if(LT(key, ST.elem[mid].key)) high=____________; else low=____________; } return ____________; } 2. 将下面算法填完整。(10分,每空2分) void InsertSort(SqList &L){ //对顺序表L作直接插入排序 for(i=2;i<=L.length;++i) if(LT(L.r[i].key, L.r[i-1].key)){ L.r[0]= ____________; L.r[i]= ____________; for(j=____________;LT(L.r[0].key, L.r[j].key);--j) L.r[j+1]= ____________; L.r[j+1]= ____________; } }
3. 分别画出在线性表(a, b, c, d, e, f, g)中进行折半查 找,以查关键字等于e、f和g的过程。(6分)
4. 已知一组元素的关键字 {46,74,16,53,14,26,40,38,86,65,27,34},利用直接插入 排序法,写出每次向前面的有序表插入一个元素后的排列结 果。(6分)
2. 3. 4. 5. 6. 7. 8. 9. 10. 得 分
三、选择题(共20分,每题2分) 1. 树中所有结点的度数之和等于结点总数加______。 A. 0 B. 1 C. -1 D. 2 2. 在一棵树中,每个结点最多有______个直接前驱结点。 A. 0 B. 1 C. 2 D. 任意多个

1. 已知一棵度为k的树中有n1个度为1的结点,n2个度为2 的结点,…,nk个度为k的结点,问该树有多少个叶 子结点?(6分)
2. 对于下面两个图,求出: (1) 无向图中每个顶点的度,有向图中每个顶点的入度,出度和 度。 (2) 是否是连通图/强连通图,如果不是,画出连通分量/强连通 分量。(6分) 0 1 2 4 3 4 0 3 1 2
评卷 人
3. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加 ______。 A. 2 B. 1 C. 0 D. -1 4. 顶点个数为n的无向图最多有______条边。 A. n-1 B. n(n-1)/2 C. n(n+1)/2 D. n(n-1) 5. n个顶点的连通图至少有______条边。 A. n-1 B. n C. n+1 D. 0 6. 在一个无向图中,所有顶点的度数之和等于所有边数的______ 倍。 A. 3 B. 2 C. 1 D. 1/2 7. 对于顺序存储的有序表(5, 12, 20, 26, 37, 42, 46, 50, 64),为查找元素26,若采用顺序查找,需要比较______次才能 查找成功。 A. 3 B. 4 C. 5 D. 6 8. 设哈希表长为14,哈希函数f(k)=k%11,已知表中已有4个元 素,关键字分别为15,38,61,84,存储位置分别为4,5,6, 7,其它存储位置为空,如用二次探测再散列处理冲突,关键字 为49的存储位置是______。 A. 8 B. 3 C. 5 D. 9 9. 在对n个元素进行简单选择排序的过程中,需要进行______趟选 择和交换。 A. n/2 B. n-1 C. n D. n+1 10. 在对n个元素进行快速排序的过程中,第一趟排序最多需要交换 ______对元素。 A. n/2 B. n-1 C. n D. n+1 得 分 评卷 四、应用题(共30分,每题6分)
ห้องสมุดไป่ตู้
分 评卷 人 二、填空题(20分,每题2分) 1. 假定一棵二叉树的结点个数为32,则它的最小深度为 ______。 在一棵二叉树中,度为2的结点有5个,度为1的结点有6个, 那么叶子结点有______个。 一棵深度为5的满二叉树的结点总数为______个。 假定一棵树的广义表表示为A(B(C, D(E, F,G), H(I, J))),则结点H的双亲结点为______。 对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵 大小为______。 若要对某二叉排序树进行遍历,保证输出元素的值序列按增 序排列,应对该二叉排序树采用____________遍历法。 元素关键字转换为该元素存储位置的函数f称为 ____________。 每次从无序表中取出一个元素,把它插入到有序表中的适当 位置,此种排序方法叫做____________排序。 假定一组数据的关键字为{46,79,56,38,40,84},则利用堆 排序方法建立的初始大顶堆为__________________。 对20个记录进行归并排序时,共需要进行______趟归并。
相关文档
最新文档