数据结构2009-2010-1-期末考试试卷

合集下载

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 栈D. 队列答案:C2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?A. 首节点B. 尾节点C. 中间节点D. 孤立节点答案:B3. 树的度是指什么?A. 树中节点的个数B. 树中最大的层次数C. 树的分支数D. 树的节点的度的最大值答案:C4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?A. -1B. 0C. 1D. 该值本身答案:A5. 快速排序算法的时间复杂度最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n!)答案:C二、填空题1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。

答案:连续性;访问2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。

答案:分配和释放;插入与删除3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。

答案:后进先出;栈顶4. 图的遍历算法主要有两种,分别是________和________。

答案:深度优先搜索;广度优先搜索5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是基于________原则。

答案:最小权值三、简答题1. 请简述数组和链表的优缺点。

答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入和删除操作需要移动大量元素。

链表元素通过指针连接,可以动态分配大小,插入和删除效率高,但访问速度较慢,因为需要从头开始遍历。

2. 什么是二叉树的前序遍历、中序遍历和后序遍历?答案:二叉树的前序遍历是先访问根节点,然后遍历左子树,最后遍历右子树。

中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树。

后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。

2. 二叉树的节点最多有______个子节点。

3. 堆是一种特殊的______。

4. 散列表的查找效率取决于______。

5. 图的遍历算法包括______和______。

6. 快速排序算法的平均时间复杂度为______。

7. 哈希表中的冲突解决方法有______和______。

8. 最小树算法包括______和______。

9. 最短路径算法包括______和______。

10. 并查集算法用于解决______问题。

第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。

2. 请简述二叉搜索树的特点。

3. 请简述哈希表的原理。

4. 请简述图的深度优先搜索算法。

5. 请简述最小树算法的原理。

第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案

贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。

(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。

for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。

(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。

(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。

(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。

(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()((B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。

《数据结构》期末考试题及答案

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查《数据结构》试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择(每题1分,共10分)1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D)A.O(0)B.O(1)C.O(n)D.O(n2)2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D)A.543612B.453126C.346512D.2341563.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B )A.8B.9C.10D.114.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B )A. m-nB.m-n-1C.n+1D.m+n5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)A.9B.11C.15D.不确定6.下列哪一个方法可以判断出一个有向图是否有环。

(A)A.深度优先遍历B.拓扑排序C.求最短路径D.求关键路径7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。

A.73B.234C.235D.2368.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B)A.(100,80,90,60,120,110,130)B.(100, 120, 110,130,80, 60,90)C.(100,60,80,90,120,110,130)D.(100,80, 60,90, 120, 130,110)9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 2584 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B )A.选择排序B.起泡排序C.快速排序D.插入排序10.对线性表进行折半查找时,要求线性表必须(D)A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序二、填空(每空1分,共15分)1.数据结构中评价算法的两个重要指标是时间复杂度、空间复杂度。

数据结构试卷(A)答案

数据结构试卷(A)答案

运算机系2010年—2011年第一学期期末考试题(卷)《数据结构》试题A(卷)参考答案和评分标准一、选择题(每题2分,共40分)。

1.线性表假设采纳链式存储结构时,要求内存中可用存储单元的地址(D )A.必需是持续的B.部分地址必须是连续的C.必然是不持续的D.连续不连续都可以2. 链表不具有的特点是( C )A.随机访问B.不必事先估计存储空间C.插入删除时不需移动元素D.所需空间与线性表成正比3.设有编号为1,2,3,4的4辆车,顺序进入一个栈结构的站台,以下不可能的出站顺序为( D )A.1234 B.1243 C.1324D.14234.顺序栈存储空间的实现利用(B )存储栈元素。

A.链表B.数组C.循环链表D.变量5.初始化一个空间大小为5的顺序栈S 后,S->top的值是( B )A.0 B.-1 C.再也不改变D.动态变化6.队列是限定在( D )进行操作的线性表。

A.中间B.队首C.队尾D.两端7.引发循环队列队头位置发生转变的操作是(A )。

A.出队B.入队C.取队头元素D.取队尾元素8.以下论述正确的选项是(C )A.空串与空格串是相同的B.”tel”是”Teleptone”的子串C.空串是零个字符的串D.空串的长度等于19.串的模式匹配是指(D )A.判定两个串是不是相等B.对两个串比较大小C.找某字符在主串中第一次显现的位置D.找某子串在主串中第一次显现的第一个字符位置=”morning”,执行求子串函数SubStr(S,2,2)后的结果为( B )A.”mo”B.”or”C.”in”D.”ng”11.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包括的结点数至少为( B )A.2h B.2h-1 C.2h+1 D.h+112.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A.acbed B.decabC.deabc D.cedba13. 按照二叉树的定义,具有3个结点的二叉树有( C )种。

数据结构期末试题及答案

数据结构期末试题及答案

计算机科学与技术、网络工程本科《数据结构》期末考试试卷一、选择题〔单选题,每小题3分,共33分〕1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为。

A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找〔⎣⎦2/)low+〕,查找元素(highA[11]时,被比较的元素的下标依次是。

A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列〔27,16,75,38,51〕构造平衡二叉树,则首次出现的最小不平衡子树的根〔即离插入结点最近且平衡因子的绝对值为2的结点〕为。

A.27 B.38 C.51 D.754.利用逐点插入法建立序列〔50,72,43,85,75,20,35,45,65,30〕对应的二叉排序树以后,查找元素30要进行次元素间的比较。

A.4 B.5 C.6 D.75.循环链表的主要优点是。

A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表〔38,25,74,63,52,48〕,假定采用散列函数h〔key〕=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为。

A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为。

A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O〔nlogn〕且稳定的排序方法是。

A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),〔a,e〕,(a,c),〔b,e〕,〔c,f〕,(f,d),〔e,d〕}。

数据结构期中期末考试试卷

数据结构期中期末考试试卷

《数据结构》课程期末考试试卷 2009年 6月27日一、填空。

(每题2分,共计20分)1.算法的健壮性是指。

2.对一个线性表分别进行遍历和逆置运算,其最好的时间复杂度分别为和。

3.n个数入栈,所有可能的出栈序列共有种。

4.下面程序段的时间复杂度为(n>1)。

sum=1;for(i=0; sum<n; i++) sum+=i;5.若某二叉树有20个叶子节点,有30个节点仅有一个孩子,则该二叉树的总的节点数是。

6.若以{4,5,6,7,8}作为叶子节点的权值构造哈夫曼树,则该Huffman树的根结点权值为。

7.线索二叉树的左线索指向其,右线索指向其。

8.若含n个顶点的图形成一个环,则它的生成树可能有种。

9.对于具有300个记录的文件,采用分块索引查找法查找,其中用二分查找法查找索引表,用顺序查找法查找块内元素,假定每块长度均为30个元素,则平均查找长度为。

10.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,经次比较后查找成功。

二、设一组记录的关键字为{4,5,7,2,1,3,6},请回答相关问题:(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求出在等概率情况下查找成功的平均查找长度。

(3分)(2)按表中元素的顺序进行插入生成一棵AVL树,画出该树。

并求出在等概率情况下查找成功的平均查找长度。

(4分)三、下图是一个四阶B树,请回答相关问题:(1)B+树和B树的主要区别是什么?(4分)(2)插入关键字87,画出插入调整后树的形状。

(4分)四、已知记录关键字集合为(53,17,19,61,98,75,79,63,46,49),要求散列到地址区间[0,10]中,散列函数选用除留余数法(mod 11)。

请回答相关问题:(1)画出形成的散列表(若产生冲突,用开放定址的线性探测再散列法解决)。

大学数据结构期末考试试题(有答案)

大学数据结构期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一〉next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一〉next=HL一>next;HL一〉next=p;2.n个顶点的强连通图中至少含有( )。

A。

n—l条有向边 B.n条有向边C.n(n-1)/2条有向边 D。

n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A。

O(1) B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A。

整形 B。

引用型C。

指针型 D。

常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和-—四种.2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.—-中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为—-——。

4.在一棵高度为h的3叉树中,最多含有—-结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为-—,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定-—该结点的值,右子树上所有结点的值一定-—该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层—-调整,直到被调整到——位置为止。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

杭州师范大学信息科学与工程学院2009-2010学年第一学期期末考试 《数据结构》试卷(A ) Item Number Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ total mark Note: Please write your answers on the answer sheet. 注意:请将答案填写在答题纸上。

I. Please select the answer for the following problems.(20 points) (1). The running time of binary search (二分查找) is ( ) A.(1)O B.()O N C.(log )O N D.(log )O N N (2). The running time of Quicksort (快速排序) is ( ) A.(1)O B.()O N C.2()O N D.(log )O N N (3).Given a directed graph represented by adjacency matrix, then the number of '1' in each column means ( ). A. in-degree of each vertex B. out-degree of each vertex C. the number of edges D. the number of connected components(连通分量) (4). Among the following sorting algorithms, ( ) has the average run time O(NlogN) with max extra space. A. Merge sort B. Heap sort C. Quick sort D. Shell sort (5).Given a complete undirected graph(无向完全图) with n vertices, the maximum number of edges in the graph must be ( ). A. n B. n ( n – 1) / 2 C. n + 1 D. n – 1 (6). In the following integer sequences, ( ) is NOT a heap(堆). A. {100, 98, 85, 82, 80, 77, 66, 60, 40, 20, 10} B. {100, 85, 98, 77, 80, 60, 82, 40, 20, 10, 66} C. {10, 20, 40, 60, 66, 77, 80, 82, 85, 98, 100} D. {100, 85, 40, 77, 80, 60, 66, 98, 82, 10, 20} (7). If the input to a stack is 1,2,3, and the output must not ( ). A. 1,2,3 B. 3,1,2 C. 3,2,1 D. 2,1,3 (8). If each node has only the left and right-child, in a binary tree of N nodes, there are ( ) NULL pointers representing children. A. N B.N 2 C.N+1 D.1 (9). For any nonempty binary tree, there are ( ) where n0 is the number of leaf nodes and n2 the number of nodes of degree 2. A. n2 = n1+1 B. n0 = n2+1 C. n0= n2 D. n0 = n2+2 (10). Given an circular queue (循环队列) Q[maxSize] with front and rear pointer (initially, front = 1 and rear = 0), its maximum capacity is maxSize and there is no other elements in it, then the condition of queue full is ( ). A. Q.front == Q.rear B. Q.front+Q.rear >= maxSize C. Q.front == (Q.rear+1) % maxSize D. Q.front == (Q.rear+2) % maxSize II. Please fill in the blank lines (12 points) Given an integer sequence 50, 60, 45, 32, 72, 63, 84, 35, 20, 78 and sorting them with an increasing order, please complete three problems (as below shows) and fill the solutions in blank lines on the answer sheet . (1) After the first run of the merge sorting(归并排序), the integer sequence is(4 points): __________________________________________________. (2) After the run of the shell sorting(希尔排序) by an increment 3, the integer sequence is (4 points): __________________________________________________.score score 班级: 学号: 姓名: 装 订 线 数据结构试题(第1页 共3页)(3) After the first run of quick sorting(快速排序) with the pivot which is selected by median-of-three (left, right, center) partitioning method, the integer sequence is(4 points):__________________________________________________.III. Please write or draw your answers for the following problems on the answer sheet. (44 points)(1) For the graph given by the right figure, obtain: (22 points)① the degree (度) of each vertex; (4 points); ② its adjacency matrix (邻接矩阵); (3 points) ③ its adjacency list (邻接表) representation; (3 points)④ the result of Depth First Search (DFS,深度优先搜索) with the adjacency list representation starting from vertex “1”; (3 points) ⑤ the result of Breath First Search (BFS 广度优先搜索) with the adjacency list representation starting from vertex “2”; (3 points) ⑥ the minimum cost spanning tree (最小生成树) using Primalgorithm or Kruskal algorithm. (6 points)(2). Given a binary tree with array representation as below shows, the questions are following(12points)1 2 3 4 5 6 7 8 9 10 11 12 13A B C D E F G H① draw the logical structure of this binary tree; (4 points)② give the results of preorder (先序), postorder (中序) and level-order (层次) traversal;(3 points) ③ draw its threaded binary trees(线索化二叉树).(5 points)(3). Insert the keys: 50, 60, 45, 32, 72, 63 and 84 into a hash table with open addressing (开放定址法) of quadratic probing (二次探测, f (i ) = i 2 ) and a size of 13. Use the hash function hash(k ) = k %13, Please draw the resulting table and computing the average search time of successful search (计算查找成功时的平均查找时间).(10 points)IV . Please complete the Insertion algorithm for a binary search tree. (6 points)Note : The data structure of binary search tree is defined as follows.typedef int ElementType;struct TreeNode;typedef struct TreeNode *SearchTree;struct TreeNode{ElementType Element;SearchTree Left;SearchTree Right;};SearchTree Insert( ElementType X, SearchTree T ){if ( T == NULL ) { /* Create and return a one-node tree */T = malloc( sizeof( struct TreeNode ) );if ( T == NULL ) FatalError( "Out of space!!!" );else { T->Element = X;T->Left = T->Right = NULL;}score 0 1 2 3 48 7 5 6 9 8 4 11 6 3 12 9 1 7 18 5 数据结构试题(第2页 共3页)} /* End creating a one-node tree */else /* If there is a tree */if ( X < T->Element ) A;else if ( B) C;/* Else X is in the tree already; we'll do nothing */return T; /* Do not forget this line!! */}V. Coding. (18 points)score1. Please write a recursive (递归) C function that counts the number of nodeswith 1 degree (度为1的结点) in a binary tree. The input is a binary tree and the output is the number of nodesm in that tree. (10 points)2. Write an Insert function for List represented by single linked list with a head node(带头结点的单链表), and the Insert is : Insert an element X into i position in the single linked list, if element X is inserted successfully, then return 0, otherwise return -1. (8 points)数据结构试题(第3页共3页)。

相关文档
最新文档