宁波大学数据结构试题
2022年宁波大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年宁波大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。
A.j=r[j].nextB.j=j+lC.j=j->nextD.j=r[j]->next2、下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序3、单链表中,增加一个头结点是为了()。
A.使单链表至少有一个结点B.标识表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。
A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改6、下列关于无向连通图特性的叙述中,正确的是()。
Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接8、有关二叉树下列说法正确的是()。
A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为29、每个结点的度或者为0或者为2的二叉树称为正则二叉树。
n个结点的正则二叉树中有()个叶子。
A.log2nB.(n-1)/2C.log2n+1D.(n+1)/210、对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为()。
《数据结构》期末考试试卷试题及答案
《数据结构》期末考试试卷试题及答案第一部分:选择题(每题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. 编写一个函数,实现链表的插入操作。
宁波大学2022年[数据结构与程序设计]考研真题
宁波大学2022年[数据结构与程序设计]考研真题数据结构部分一、单选题1、若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )A.3,2,6,1,4,5B.3,4,2,1,6,5C.1,2,5,3,4,6D.5,6,4,2,3,12、若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( )A.图中每个顶点的入度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数目3、下列二叉树中,()可用于实现符号的不等长高效编码。
A.最优二叉树B.B-树C.平衡二叉树D.二叉排序树4、在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为( )A.iB.i+1C.n-iD.n-i+15、若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为( )A.f,c,bB.f,d,bC.g,c,bD.g,d,b6、设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列()方法可以达到此目的。
A.快速排序B.堆排序C.归并排序D.插入排序7、排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是( )A.选择排序B.快速排序C.冒泡排序D.插入排序8、有n个结点的有向完全图的弧数是( )A.n2B.2nC.n(n-1)D.2n(n+1)9、判断一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用()A.求关键路径的方法B.求最短路径的Dijkstra方法C.深度优先遍历算法D.广度优先遍历算法10、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()A.s→link=p→link;p→link=s;B.p→link=s;s→link=q;C.p→link=s→link;s→link=p;D.q→link=s;s→link=p;二、简答题1. 一颗二叉树的前序遍历的结果是1,2,3,4,5,6, 中序遍历的结果是3,2,4,6,5,1。
数据结构试题及答案(十套)
一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。
数据结构考试试题题库
数据结构考试试题题库一、选择题1. 在数据结构中,线性表是按照什么顺序存储数据的?A. 随机B. 无序C. 有序D. 连续2. 栈(Stack)是一种遵循哪种原则的数据结构?A. 先进先出(FIFO)B. 先进后出(LIFO)C. 后进先出(LILO)D. 随机访问3. 哈希表(Hash Table)的主要优点是什么?A. 存储空间大B. 访问速度快C. 易于排序D. 易于扩展二、简答题1. 请简述数组和链表的区别。
2. 什么是二叉树?请描述二叉树的几种遍历方法。
三、计算题1. 给定一个单链表,编写一个算法来删除链表中的重复元素。
2. 假设有一个数组,其中包含n个元素,编写一个算法来找到数组中的第k小的元素。
四、应用题1. 描述如何使用队列来实现一个打印任务调度系统。
2. 请解释二叉搜索树(BST)的插入操作,并给出相应的算法实现。
五、编程题1. 编写一个C++函数,实现对一个给定的整数数组进行排序。
2. 编写一个Python函数,实现对一个二叉树进行层次遍历。
六、论述题1. 讨论图的两种存储结构:邻接矩阵和邻接表,并比较它们的优缺点。
2. 解释什么是递归,并给出一个使用递归解决实际问题的例子。
结束语数据结构的学习不仅仅是对概念的理解,更重要的是能够将这些概念应用到实际问题的解决中。
通过本题库的练习,希望能够加深你对数据结构的理解和应用能力。
请注意,这只是一个示例题库,实际的考试题库可能会包含更多的题目和不同的题型。
考生应根据具体的课程内容和考试要求来准备。
数据结构题库及答案详解
数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。
5. 哈希表的冲突可以通过______方法来解决。
答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。
答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。
然后对这两个子数组递归地应用快速排序算法。
7. 解释什么是递归,并给出一个递归函数的例子。
答案:递归是一种在函数中调用自身的编程技术。
递归函数必须有一个明确的终止条件,以避免无限递归。
例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。
答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构试题及答案(10套最新)
数据结构试题及答案(10套最新)数据结构试题及答案(10套最新)第一套试题:问题一:什么是数据结构?数据结构的作用是什么?回答:数据结构是一种组织和存储数据的方式,它关注数据元素之间的关系以及对数据元素的操作。
数据结构的作用包括提供高效的数据存储和访问方式,减少资源消耗,简化问题的解决方法,提高算法的性能和程序的可读性。
问题二:请列举几种常见的线性数据结构,并简要介绍它们的特点。
回答:常见的线性数据结构包括数组、链表和栈。
数组是一种连续存储数据元素的结构,具有随机访问的特点;链表是一种通过指针相连的数据元素,可以灵活地插入和删除元素;栈是一种遵循先进后出原则的数据结构,常用于解决递归问题。
问题三:请说明二叉树的定义及其性质。
回答:二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点。
二叉树具有以下性质:每个节点最多有两个子节点,分别称为左子节点和右子节点;左子树和右子树都是二叉树;二叉树的节点个数为n,边的个数为n-1。
问题四:在数组中查找一个元素的时间复杂度是多少?为什么?回答:在数组中查找一个元素的时间复杂度是O(n),其中n是数组的长度。
因为在数组中查找元素需要按照索引一个一个比较,最坏情况下需要比较n次才能找到目标元素。
问题五:请解释堆排序算法的原理及时间复杂度。
回答:堆排序算法利用堆这种数据结构进行排序。
首先将待排序的元素构建成一个大顶堆,然后将堆顶元素与最后一个元素交换,继续调整堆,再取出堆顶元素与倒数第二个元素交换,依次执行,最后得到从小到大排序的序列。
堆排序的时间复杂度为O(nlogn)。
第二套试题:问题一:请解释图的邻接矩阵和邻接表表示法。
回答:图的邻接矩阵表示法是使用二维数组来表示图的连接关系,数组中的元素表示相应节点之间的边的关系。
邻接表表示法使用链表来表示图的连接关系,链表中的元素表示相邻节点之间的边的关系。
问题二:请说明深度优先搜索算法的原理及其应用。
回答:深度优先搜索(DFS)算法是一种遍历或搜索图的算法,其原理是从起始节点开始,依次深入到尽可能远的节点,直到无法继续深入为止,然后回溯到上一个节点,再继续深入其他未访问过的节点。
大学计算机《数据结构》试卷及答案
大学计算机《数据结构》试卷及答案一、选择题(24分)1.下面关于线性表的叙述错误的是()。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。
(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M 4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
(A) 9 (B) 10 (C) 11 (D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。
(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,8二、填空题(24分)1. 为了能有效地应用HASH 查找技术,必须解决的两个问题是______和______。
2. 下面程序段的功能实现数据x 进栈,要求在下划线处填上正确的语句。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
宁波大学916数据结构与算法2019--2021年考研专业课初试真题
(答案必须写在考点提供的答题纸上)科目代码:916 总分值:150 科目名称:数据结构与算法(答案必须写在考点提供的答题纸上)科目代码:916 总分值:150 科目名称:数据结构与算法11. 下图是一个二叉树后序遍历的结果是()。
A、abcdefB、cfabdeC、dbaecfD、cbfade12. 现有以下按前序和中序遍历二叉树的结果:前序:GAHFDBCE 中序:AHGBDCFE,该二叉树的后序遍历序列为( ) 。
A . GHABCDEF B. HABCDEFGC. ABCDEFGHD. HABCGDEF13. 一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是()。
A . 39 B. 119 C. 111 D. 23914. 一棵非空二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。
A . 是一棵满二叉树 B. 所有的结点均无右孩子C. 所有的结点均无左孩子D. 只有一个叶子结点15. 任何一个连通图的最小生成树( )。
A.只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在二、填空题:(共28分,每空2分)1. 已知某二叉树的先序遍历次序为abcdefg,中序遍历次序为badcgfe,则该二叉树的后序遍历次序为____________,层次遍历次序为___________。
2. 对于长度为n的关键字有序的线性表,若进行顺序查找,则平均时间复杂度为________;若采用二分法查找,则平均时间复杂度为________;3.在一棵度为3的树中,度为3的结点个数为3,度为2的结点个数为2,度为1的结点个数为1,则度为0的结点个数为________。
4. 在一棵m阶B-树中,除根结点外非叶结点至少有________棵子树,至多有________棵子树。
(答案必须写在考点提供的答题纸上)科目代码:916 总分值:150 科目名称:数据结构与算法5. 分别采用堆排序、快速排序、冒泡排序和归并排序,对初态为有序的表,则最省时间的是________算法,最费时间的是________算法6. 如图所示的有向无环图可以排出________种不同的拓扑序列。
大学数据结构期末考试试题(有答案)
大学数据结构期末考试试题(有答案)大学数据结构期末考试试题(有答案)题一:单项选择题(共10题,每题2分,共20分)1. 数据结构是一种()。
A. 算法B. 数据的存储结构C. 编程语言D. 操作系统答案:B2. 下列哪个不属于线性结构?A. 数组B. 栈C. 队列D. 树答案:D3. 栈是()的一种典型应用。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 链表与数组的主要区别是()。
A. 链表是动态分配的,数组是静态分配的B. 链表只能存储整数,数组可以存储任意类型的数据C. 链表的访问速度比数组快D. 链表的插入和删除操作比数组快答案:A5. 在二分查找算法中,查找元素的平均时间复杂度是()。
A. O(n)B. O(logn)C. O(n^2)D. O(1)答案:B6. 以下哪种排序算法不是稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B7. 平衡二叉树的插入和删除操作的时间复杂度都是()。
A. O(n)B. O(logn)C. O(n^2)D. O(1)答案:B8. 哈希表是通过()实现的。
A. 数组B. 链表C. 树D. 图答案:A9. 拓扑排序是一种用来解决()问题的算法。
A. 最短路径B. 最小生成树C. 最大流D. 有向无环图的排序答案:D10. 图的深度优先遍历算法使用()来实现。
A. 栈B. 队列C. 数组D. 链表答案:A题二:填空题(共5题,每题4分,共20分)1. 顺序表中元素的逻辑顺序与物理位置相同,插入和删除操作会引起元素的()。
答案:移动位置2. 在树的孩子兄弟表示法中,每个结点有两个指针,一个指向它的(),一个指向它的()。
答案:第一个孩子,下一个兄弟3. 哈希表的存储时间和查找时间都为()。
答案:O(1)4. 无向连通图的最小生成树边数为()。
答案:n-1(n为结点个数)5. 平衡二叉树的定义是任意结点的左子树和右子树的高度差不超过()。
大学数据结构期末考试试题(有答案)
“数据结构”期末考试试题一、单选题(每小题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.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层—-调整,直到被调整到——位置为止.8.表示图的三种存储结构为——、——和-——.9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为-—,对用邻接表表示的图进行任一种遍历时,其时间复杂度为—-。
宁波大学916数据结构与算法2020年考研专业课真题
宁波大学2020年硕士研究生招生考试初试试题(A卷)(答案必须写在考点提供的答题纸上)科目代码:916总分值:150科目名称:数据结构与算法、、选择题:(每个选择2分,共30分)1. 在单链表指针为P的结点之后插入指针为s的结点,正确的操作是()。
A. p->next=s; s->next=p->next;B. p->next=s->next; p->next=s;C. s->next=p->next; p->next=s;D. p->next=s; p->next=s->next;2. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )。
A.3,2,6,1,4,5B.3,4,2,1,6,5C.1,2,5,3,4,6 D.5,6,4,2,3,13. 循环队列用数组A[0..m-1]存放其元素值,设头尾指针分别为front和rear,则当前队列中的元素个数是 ( )。
A. rear-front-1B. rear-front+1C. (rear-front+m)%mD. rear-front4. 二分查找算法的时间复杂度是()。
A. O(n*n)B. O(n)C. O(n*log n) D . O(log n)5. 向顺序存储的循环队列 Q 中插入新元素的过程分为三步:()。
A.进行队列是否满的判断,存入新元素,移动队尾指针B.进行队列是否空的判断,存入新元素,移动队尾指针C.进行队列是否满的判断,移动队尾指针,存入新元素D.进行队列是否空的判断,移动队尾指针,存入新元素6.设x和y是二叉树中的任意两个结点,若在先根序列中x在y之前,而在后根序列中x在y之后,则x和y的关系是 ( )。
A. x是y的左兄弟B. x是y的右兄弟C. x是y的祖先D. x是y的子孙7. 下列二叉树中,( )可用于实现符号的不等长高效编码。
数据结构试题集(包含答案 完整版)
第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
宁波大学916数据结构与算法2019(A卷)考研专业课真题
宁波大学2019年硕士研究生招生考试初试试题(A卷)(答案必须写在考点提供的答题纸上)科目代码:916总分值:150科目名称:数据结构与算法、、选择题:(共30分,每题2分)1. 采用链式存储结构表示数据时,相邻的数据元素的存储地址()。
A. 一定不连续B. 不一定连续C. 一定连续D. 部分连续,部分不连续2. 在一个单链表中,若*p节点不是最后节点,在*p之后插入节点*s,则执行()。
A. s->next = p; p->next = s;B. s->next = p->next ; p->next = s;C. s->next = p->next ; p = s;D. p->next = s; s->next = p;3. 用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为( )。
A. j=j->nextB. j=r[j].next C .j=j+1 D. j=r[j]-> next4. 向一个栈顶指针为HS的链栈(带头结点)中插入一个s所指结点时,则执行()。
A. s->next = HS ; HS = s;B. HS->next = s;C. s -> next = HS->next ; HS->next = s;D. s->next = HS ; HS = HS->next;5. 已知一个推入堆栈的字符序列顺序是a,b,c,d,e,下列哪个字符序列是不能通过堆栈操作得到的字符序列()。
A. e,d,c,b,aB. d,e,c,b,aC. d,c,e,a,bD. a,b,c,d,e6. 循环队列存储在数组A[0..m]中,则入队时的操作为()。
A. rear=rear+1B. rear=(rear+1) mod (m-1)C. rear=(rear+1) mod mD. rear=(rear+1)mod(m+1)7.在一个具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是()。
宁波大学917数据结构与程序设计专业课考研真题(2019年)
{ __【3】__;
p=p->next;
__【4】 ____;
不负韶华 head->next=q;
} } 3.以下是拓扑排序算法的部分代码,请在空白处填写代码。
typedef struct ArcNode{
int adjvex;
/*该弧指向顶点的位置*/
struct ArcNode *nextarc;
(20,54,69,84,71,30,78,25,93,41,7,76)
不负韶华 5. 假设用于通信的电文仅由 6 个字符组成,其频率分别为:11,9,13,15,29,23 。 试为这 6 个字符设计哈夫曼编码,要求画出相应的哈夫曼树。
三、算法填空(每空 2 分,共 18 分)
1. 以下程序实现按递减序对 R[0]~R[n-1] 进行直接选择排序。请在空白处填写代码。
D. q→link = s; s→link = p;
第 1 页 共 11 页
第 1/11页
宁波大学专业课考研真题(2019年)
宁波大学 2019 年硕士研究生招生考试初试试题(A 卷)
(答案必须写在考点提供的答题纸上)
科目代码: 917 总分值: 150 科目名称:
数据结构与程序设计
二、简答题(每题 5 分, 5 题,共 25 分)
D.广度优先遍历算法
10、在一个单链表中,若 q 结点是 p 结点的前驱结点,若在 q 与 p 之间插入结点 s,则执行( )
A. s→link = p→link; p→link = s;
B. p→link = s; s→link = q;
C. p→link = s→link; s→link = p;
十套数据结构试题及答案
数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据构造中哪一个是非线性构造?( d )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. O〔1〕B. O〔n〕C. O〔1og2n〕D. O〔n2〕9.对于线性表〔7,34,55,25,64,46,20,10〕进展散列存储时,假设选用H〔K〕=K %9作为散列函数,那么散列地址为1的元素有〔 c d〕个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。
二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。
数据结构 _期中
宁波大学科学技术学院2007/2008 学年第 1 学期期末考试试卷课程名称:数据结构与算法(1)考试性质闭卷试卷编号(5)学生姓名:学号:班级一、选择(2分×20)1.以下数据结构中,()是非线性数据结构。
A.树B.字符串C.队D.栈2.从逻辑上可以把数据结构分为()两大类。
A.动态结构,静态结构B.顺序结构,链式结构C.线性结构,非线性结构D.初等结构,构造型结构3.评价一个算法时间性能的主要标准是()。
A.算法易于调试B.算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度4.一个长度为20的顺序表中,向第5个元素之前插入一个新元素时,需要向后移动()个元素。
A.14 B.15C.16 D.15.单链表不具有的特点是()。
A.可随机访问任一个元素B.插入结点不需要移动元素C.不必事先预定存储空间大小D.占用存储空间大小与表长成正比6.带头结点的单链表头指针为head,则链表为空的判定条件是()。
A.head == NULLB.head->next == NULLC.head->next == headD.head != NULL7.设p 指向单链表中的一个结点,s 指向待插入的结点,则下述程序段的功能是()。
s -> next = p -> next; p -> next = s;t = p -> data; p -> data = s -> data; s ->data = t;A.结点*p 与结点*s 的数据域互换B.在p 所指结点的元素之前插入元素C.在p 所指结点的元素之后插入元素D.在结点*p 之前插入结点*s8.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用()。
A.数据元素的相邻地址表示B.数据元素在表中的序号表示C.指向后继元素的指针表示D.数据元素的值表示9.对于只在表的首,尾两端进行插入操作的线性表,宜采用的存储结构为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、简答题:(50 分)
1、 已知二叉树 T 如右所示: (10 分)
(7) .判定一个循环队列 QU(最多元素为 m0)为满队列的条件是 A.QU->front==QU->rear C.QU->front==(QU->rear+1)%m0 B.QU->front!==QU->rear
D.QU->front!==(QU->rear+1)%m0
答案写在答题纸上
一、单选题:(每小题 2 分,10 小题,共 20 分) (1)一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 10 个元素的地址是 _____________。 A、100 B、108 C、110 D、118
(9)、设计一个判别表达式中左右括号是否配对的算法,采用________数据结构最佳。 A.线性表的顺序存储结构 B. 队列 C. 线性表的链式存储结构 D. 栈 (10)、在单链表指针为 p 的结点之后插入指针为 s 的结点,正确的操作是________。 A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s; C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;
宁波大学
课号:
注 意 事 项:
学年 《数据结构与算法》上机测试题
课名:数据结构与算法
学号:______________姓名:______________ 阅卷教师:__________成绩:_______________
1. 考试时间: 3 小时 2. 题目完成后以本人“学号”为目录名存放在本机的 D 盘上, 例如 “D:\074100101\” 。 3. 请勿随意重启或关闭机器! 4. 请在以下题目中任选一题作答
(2) 一个数组 a[10], 指针 p, 如果 p 指向 a,那么 *(p+1)+2 是________ A、a[3] B、a[5] C、a[2]+1 D、a[1]+2
二、填空题(每空 2 分, 共 26 分)
1. 分析下面算法(程序段) ,给出最大语句频度 { for (i=1; i<=n; i++) for (j=1; j<=i ; j++) cout<<i+j ; } ,该算法的时间复杂度是__ __。
考题一
如果将“大顶堆”的定义扩展为如下完全三叉树: (1)空树为堆; (2)根结点的值不小于所有 子树根的值,且所有子树均为堆。 要求用 C/C++编程实现采用这种三阶堆的堆排序算法。
考题二
姓名
利用静态三元组表示稀疏矩阵, 用 C/C++编程实现两个稀疏矩阵的相加运算。 输入包括两个稀 疏矩阵的大小、非零元素个数、元素值,输出为两个矩阵的和。
E
F
姓名
7 4 2 5
8
9
2
(6)假设用于通信的电文仅由 6 个字符组成,其频率分别为:11,9,13,15,29,23
为这 6 个字符设计哈夫曼编码,要求给出相应的哈夫曼树。 (7 分) 试
四、算法设计题(15 分)
1. 在一个带头结点的单链表中,查找值为 X 的结点。如果找到了,删除该结点;否则, 输出“NO! ” 。 (5 分)
(5)上图所示二叉树的前序遍历结果是_________。 A 、abcdef C、 dbaecf B、 abdcef D、 dbefca
(6).推入一个队列的数字序列是 2,1,3,4,5, 那么队列的输出数字序列是_________。 A、1,2,3,4,5; C、 1,2,4,3,5 ; B、 2,1,3,4,5; D、 2,4,3,5,1 ; 。
(2) .画出 T 对应的森林。 (4 分) 2.简述以下算法的功能(5 分) 。 Status A(LinkedList L) { //L 是无表头结点的单链表 if ( L&&->next ) { Q=L; L=L->next; P=L; While ( P->next ) P=P->next; P->next=Q; Q->next=NULL; } return OK; } //A 3.简述以下算法的功能(5 分) 。 status algo2 (Stack S,int e) { Stack T; int d; InitStack (T); while ( !StackEmpty (S) ) { Pop ( S,d); if (d!=e) Push (T,d ); } while ( !StackEmpty (S) ) { Pop ( S,d); Push ( S,d); } } 4.设给定权集 w ={2,3,4,7,8,9},试构造关于 w 的一棵哈夫曼树,并求其加权路径长 度 WPL。 (10 分) 5.已知一个单链表 L, 函数 converse 倒置链表的结点.请在空白处正确填写代码。(10 分) Struct SLNode { DateType date; ——————; };
二、填空题(每题 1 分,共 10 分)
1、在数据结构中,从逻辑上可以把数据结构分成___________ 和 2、在一个单链表中删除 p 所指结点时,应执行以下操作: (1)q=p->next; (2)p->data=p->next->data; (3)p->next=_________________; (4)_________________________; 3、一个 k 层的完全二叉树最多有_______个结点,最少有_______个结点。 ___________。
学号
Head
9
7
16
9
5 ^
第 2 页 共 2 页
宁波大学
课号:
学年 第
学期期中考试卷(2)
课名:数据结构与算法
答案写在答题纸上
学号:______________姓名:______________ 阅卷教师:__________成绩:_______________
(9) .一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足 _______。 A. 所有的结点均无左孩子 C. 只有一个叶子结点 B. 所有的结点均无右孩子 D. 是任意一棵二叉树
(20,54,69,84,71,30,78,25,93,41,7,76)
2. 写一算法,统计二叉树的结点的总个数。 提示:主要算法采用递归算法(6 分) ;要求写出与之配套的主调函数(4 分) 。
A B
D C
(5)下列函数是二叉排序树的什么算法?如果 K 值为 5,针对下图所示二叉树,运行下列算
法,输出是什么?比较几次得到结果?(4 分) Void Bstree::Search( KeyType K) { int flag = 0; BstNode *q=root, *p = NULL; while((q!=NULL)&&(flag==0)) { if(q->key==K) flag = 1; else if ( K<q->key) { p = q; q = q->lch; } else { p = q; q = q->rch; } } if(flag == 0) cout<<"\n 查找失败,无此结点!\n"; else cout<<"\n 查找成功,找到:"<<q->key<<endl; }
学号
该二叉查找树的嵌套括号表示结构为:B(A,D(C,E) ) 。
第 1 页 共 1 页
宁波大学
课号:
学年 第
学期期中考试卷(1)
课名:数据结构与算法
学号:______________姓名:______________ 阅卷教师:__________成绩:_______________
比较________个结点。 A. n B. n/2 C. (n–1 ) / 2 D. (n+1) /2
学号:______________姓名:______________ 阅卷教师:__________成绩:_______________
_______; p=p->next; ________; head->next=q; } } 6、已知关键字值序列(53, 27, 58,36,22,42,80, 77, 72,25) 。 (共 12 分,每小题 6 分) (1) .关键字值序列是否为堆?若不是则将它调整为小顶堆; (2) .按上述关键字值次序构造一棵初始状态为空的二叉排序树;
查找。 进行,删除操作在 进行。
(6)下图是一个二叉树 后序遍历的结果是 ________。 A、 C、 abcdef dbaecf B、 cfabde D、 cbfade
三、简答题:(39 分) (1) 一颗二叉树,如果前序遍历的结果是 1 2 3 4 5 6, 中序遍历的结果是 3 2 4 6 5 1. 请画出这颗二叉树. (7 分) (2):请用 Prim 算法画出下图的最小生成树的过程. (7 分)
课名:数据结构与算法
学号:______________姓名:______________ 阅卷教师:__________成绩:_______________
(3)请根据序列{100 28 6 72 130 54 180 110 138}画出二叉查找树. 如果删除元素 28,那么二叉树又是如何? (8 分) (4)什么是 B-树? 有何特点? 就下列关键字序列,建立一棵 5 阶 B-树。(6 分)
姓名
(4)下图二叉树的中序遍历结果是______。