2006《数据结构》期末试卷_A
- 格式:doc
- 大小:85.00 KB
- 文档页数: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. 编写一个函数,实现链表的插入操作。
8.若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等该矩阵()。
Array A.第i行中值为1的元素个数B.所有值为1的元素总数C.第i行及第i列中值为1的元素总个数D.第i列中值为1的元素个数9.在一个无向图中,所有顶点的度数之和等于所有边数的____倍。
A. 1/2B. 1C. 2D. 410.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为____.A. nB. n/2C. (n+1)/2D. (n-1)/211. 对于给定的一组关键字(12,2,16,30,8,28,4,10,20,6,18),按照下列二路归并排序算法进行递增排序,第一趟排序后得到的结果是()。
A.2,12,16,8,28,30,4,6,10,18,20B.2,12,16,30,8,28,4,10,20,6,18C.12,2,16,8,28,30,4,6,10,28,18D.12,2,10,20,6,18,4,16,30,8,2812. 在理想情况下,散列表中查找元素所需的比较次数为()。
A.n B.O C.n/2 D.113. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为____。
A. 希尔排序B. 起泡排序C. 插入排序D. 选择排序二、填空:(每空1分, 共10分)1.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
2. 对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运算时,可能发生栈的下溢。
3. 在双向链表中,每个结点有两个指针域,一个指向____ __,另一个指向___ __。
4.由一棵二叉树的前序序列和可唯一确定这棵二叉树。
5.折半查找的存储结构仅限于___ _,且是_ ___。
6.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为和。
运算机系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 )种。
《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。
6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。
7. 树的根结点的度为______,度为0的结点称为______。
8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。
三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。
10. 简述二叉树的遍历方法。
11. 简述图的存储结构及其特点。
四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。
13. 编写一个算法,实现队列的出队操作。
五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。
15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。
答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。
第一章一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低 B.高 C.相同 D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。
A.数据B.数据元素C.数据项D.数据库二、填空题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.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。
《数据结构》期末考试试卷一、选择题(单选题,每小题3分,共33分)1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为 B 。
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找(⎣⎦2/)low+),查找元素(highA[11]时,被比较的元素的下标依次是 B 。
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的结点)为 D 。
A.27 B.38 C.51 D.754.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素30要进行 B 次元素间的比较。
A.4 B.5 C.6 D.75.循环链表的主要优点是 D 。
A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key)=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为 C 。
A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为C 。
A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是 D 。
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)}。
《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪种数据结构是线性结构?A. 栈B. 树C. 队列D. 图答案:A2. 在计算机科学中,什么是最基本的数据结构?A. 数组B. 链表C. 栈D. 树答案:C3. 下列哪种操作的时间复杂度是O(1)?A. 在链表中插入元素B. 在数组中查找元素C. 在树中删除节点D. 在图中寻找最短路径答案:B4. 下列哪种数据结构常常用于实现栈和队列?A. 数组B. 链表C. 树D. 图答案:A5. 下列哪种数据结构是有序的?A. 栈B. 队列C. 链表D. 图答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种后进先出(____)的数据结构。
答案:线性表2. 队列是一种先进先出(____)的数据结构。
答案:线性表3. 链表是一种____数据结构,由一系列节点组成。
答案:非线性4. 二叉树是一种特殊的树,它的每个节点最多有两个____。
答案:子节点5. 哈希表是通过____函数将关键字映射到表中的位置来访问数据。
答案:哈希三、判断题(每题2分,共20分)1. 树是一种线性结构。
()答案:错误2. 链表的插入和删除操作时间复杂度都是O(1)。
()答案:错误3. 图是一种线性结构。
()答案:错误4. 哈希表是一种基于顺序结构的的数据结构。
()答案:错误5. 在数据结构中,时间复杂度O(n)表示算法随着输入规模的增加而线性增长。
()答案:正确四、简答题(每题10分,共30分)1. 请简述栈和队列的特点和应用场景。
答案:栈是一种后进先出(LIFO)的数据结构,应用场景包括函数调用栈、表达式求值等。
队列是一种先进先出(FIFO)的数据结构,应用场景包括任务队列、缓冲区等。
2. 请简述链表的优缺点。
答案:链表的优点包括动态扩容、插入和删除操作时间复杂度为O(1)、可以方便地实现各种复杂数据结构。
缺点包括占用内存空间较大、不如数组支持随机访问。
《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪一个不是线性结构的基本特征?A. 有且只有一个根结点B. 每个结点最多有一个前驱和一个后继C. 有且只有一个叶子结点D. 有序对中第一个元素是根结点答案:C2. 在单链表中,存储元素的数据域称为元素的哪个部分?A. 指针域B. 数据域C. 结点域D. 头结点答案:B3. 在顺序存储结构中,数据元素之间的逻辑关系由哪个因素决定?A. 数据元素的存储顺序B. 数据元素的存储位置C. 数据元素的类型D. 数据元素的大小答案:A4. 下列哪种排序算法的时间复杂度不是O(nlogn)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D5. 在二叉树中,具有度为2的结点的个数是n0,度为0的结点个数是n2,则有()。
A. n0 = n2 - 1B. n0 = n2 + 1C. n0 = n2D. n0 = n2 + 2答案:B6. 在线索二叉树中,哪个结点被称为线索结点?A. 有左子树的结点B. 有右子树的结点C. 既没有左子树也没有右子树的结点D. 具有左右子树的结点答案:C7. 在双向链表中,查找结点的时间复杂度是()。
A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B8. 在栈的操作中,下列哪个操作是非法的?A. 先进先出B. 后进先出C. 可以插入任意元素D. 可以删除任意元素答案:D9. 在顺序表中进行插入操作时,平均移动次数为()。
A. 0B. n/2C. nD. n-1答案:C10. 在下列排序算法中,哪个算法是不稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B二、填空题(每题2分,共20分)1. 线性表的顺序存储结构称为顺序表,其基本特点是()。
答案:元素顺序存储2. 在单链表中,每个结点包括两个域:数据域和()。
答案:指针域3. 在二叉树中,度为0的结点称为(),度为2的结点称为()。
一、 (本题15分)试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。
注意:要求使用原单链表的空间,表头结点可以另辟空间。
二、 (本题20分)试设计一个递归算法,判断二叉树T 是否是满二叉树,假设T 是以二叉链表存储。
typedef struct BiTNode{
TElemType data; Struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
三、 (本题15分)给定下面的带权无向图G :
1) 从顶点0出发,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。
2) 分别使用普里姆算法和克鲁斯卡尔算法求出下图的最小生成树,仅需画出最小生成树的成长过程即可。
四、
(本题15分)设有一个关键字序列{11,73,51,31,63,37,46,2,7},
1)从空树开始构造排序二叉树,画出得到的排序二叉树;分别计算该排序二叉树在等概率下查找成功的平均查找长度和查找失败的平均查找长度;
2)从空树开始构造平衡二叉树,画出每加入一个新结点时二叉树的形态;若发生不平衡,请画出调整平衡后的结果;分别计算该平衡二叉树在等概率下查找成功的平均查找长度和查找失败的平均查找长度。
五、(本题10分)已知待散列存储的关键字序列为(4,15,38,49,33,60,27,71),哈希函
数为H(key)=key MOD 11,哈希表HT的长度为11,采用二次探测再散列法解决冲突。
试构造此哈希表,并求出在等概率情况下查找成功的平均查找长度。
六、(本题15分)试设计算法在O(n)时间内将数组A[1..n]划分为左右两个部分,使得
左边的所有元素为奇数,右边的所有元素均为偶数,要求所使用的辅助存储空间大小为O(1)。
七、(本题10分)若待排序记录的关键字集合是{30,90,27,4,48,15,9,13,18},欲将其
按关键字非递减排序:
1)若采用快速排序(选取待排序列中的第一个记录作为枢轴),请给出第一趟和第二趟排序的结果;
2)若采用堆排序,请画出初始建立的“大顶堆”;
3)当给定的待排序记录的关键字基本有序时,应采用堆排序还是快速排序?为什么?
八、(本题不记分)请谈谈学习《数据结构》课程的心得体会,或对该课程的教学提出意
见和建议。