数据结构 考研试题

合集下载

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。

2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。

3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。

4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。

6、三个结点a,b,c组成二叉树,共有种不同的结构。

7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。

8、图的遍历有两种,它们是。

9、堆排序的时间复杂度为。

10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。

二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i 3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D)Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。

数据结构c考研试题及答案

数据结构c考研试题及答案

数据结构c考研试题及答案数据结构C考研试题及答案1. 选择题1.1 以下哪个选项不是线性表的顺序存储结构的特点?A. 存储空间连续B. 存储空间不连续C. 可以随机访问D. 插入和删除操作效率低答案:B1.2 在二叉树的遍历中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式称为:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A2. 填空题2.1 在一个长度为n的数组中,使用二分查找法查找一个元素,最坏情况下需要比较的次数为______。

答案:log2(n+1)-12.2 哈希表的冲突解决方法有多种,其中一种方法是______。

答案:链地址法3. 简答题3.1 请简述图的深度优先搜索(DFS)算法的步骤。

答案:深度优先搜索算法的步骤如下:1. 访问起始顶点;2. 对于起始顶点的每一个邻接顶点,如果未被访问,则递归地进行深度优先搜索;3. 继续对未访问的邻接顶点进行步骤2,直到所有邻接顶点都被访问;4. 回溯到上一个顶点,继续访问未访问的邻接顶点,直到所有顶点都被访问。

3.2 什么是堆排序算法?请简要描述其工作原理。

答案:堆排序算法是一种基于二叉堆的比较排序算法。

其工作原理如下:1. 将待排序的序列构造成一个大顶堆;2. 将堆顶元素,即当前最大值,与序列末端元素进行交换,然后将序列长度减一;3. 对新的堆顶元素调整为新堆的堆顶;4. 重复步骤2和3,直到堆的大小为1或0。

4. 编程题4.1 编写一个函数,实现单链表的反转。

答案:```cstruct ListNode {int val;struct ListNode *next;};struct ListNode* reverseList(struct ListNode* head) {struct ListNode* prev = NULL;struct ListNode* curr = head;struct ListNode* next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}head = prev;return head;}```4.2 给定一个二叉搜索树的根节点,请实现一个函数,返回树中任意两个节点的值的差的绝对值的最小值。

数据结构考研真题及其答案完整版

数据结构考研真题及其答案完整版

数据结构考研真题及其答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】一、选择题1. 算法的计算量的大小称为计算的( B )。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(C),它必须具备(B)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是( B )。

【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C.5. 下面关于算法说法错误的是( D )【南京理工大学 2000 一、1(分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是( C )【南京理工大学 2000 一、2 (分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低4A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。

【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )。

数据结构考研真题及其答案完整版

数据结构考研真题及其答案完整版

数据结构考研真题及其答案完整版数据结构是计算机科学与技术领域中的一门重要课程,也是计算机考研中必考的一门科目。

通过研究数据结构,可以帮助我们更好地理解和应用计算机算法,提高计算机程序的效率和性能。

为了帮助考生更好地备考数据结构,本文将分享一些数据结构考研真题及其答案,供考生参考。

一、选择题1. 下列关于栈的叙述中,错误的是()A. 栈是一种线性数据结构,具有后进先出(LIFO)的特点B. 栈可以用数组实现,也可以用链表实现C. 栈的插入和删除操作都是在同一端进行的D. 栈的插入和删除操作的时间复杂度都是O(1)答案:C解析:栈的插入操作叫做入栈,删除操作叫做出栈。

入栈和出栈操作都是在栈顶进行的,而不是同一端。

2. 假设要对n个整数关键字进行排序,以下排序算法中,平均时间复杂度最小的是()A. 冒泡排序B. 快速排序C. 归并排序D. 直接插入排序答案:C解析:归并排序的时间复杂度是O(nlogn),平均时间复杂度最小。

二、填空题1. 下列关于图的遍历顺序的说法中,正确的是:深度优先搜索访问的顺序是________,广度优先搜索访问的顺序是________。

答案:前序遍历,层次遍历解析:深度优先搜索即前序遍历,广度优先搜索即层次遍历。

2. 给定一个最小堆,若删除堆顶元素后,需要对堆进行调整,所采用的操作是________。

答案:下滤解析:删除堆顶元素后,将最后一个叶子节点放到堆顶,然后进行下滤操作。

三、简答题1. 请简要说明动态规划算法的基本思想和应用场景。

答:动态规划算法的基本思想是将问题分解为多个子问题,通过求解子问题的最优解来得到原问题的最优解。

它通常适用于具有重叠子问题和最优子结构性质的问题。

动态规划算法可以大大减少问题的重复计算,提高算法的效率和性能。

它在求解最短路径、最长公共子序列、背包问题等具有广泛的应用。

2. 请简要介绍红黑树的特点和应用场景。

答:红黑树是一种自平衡的二叉查找树,它具有以下特点:1) 每个节点都有一个颜色,红色或黑色;2) 根节点是黑色的;3) 叶子节点(NIL节点)都是黑色的;4) 如果一个节点是红色的,则它的两个子节点都是黑色的;5) 从根节点到叶子节点的路径上,不同路径上黑节点的个数相同。

数据结构考研题库

数据结构考研题库

数据结构考研题库一、单选题1. 在数据结构中,下列哪个不属于线性表的存储结构?A. 顺序存储结构B. 链式存储结构C. 栈存储结构D. 树存储结构答案:D解析:线性表的存储结构包括顺序存储结构和链式存储结构,栈也是线性结构,因此选项C是线性表的一种存储结构。

树存储结构不属于线性表的存储结构。

2. 以下哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 插入排序C. 快速排序D. 堆排序答案:C解析:快速排序的时间复杂度是O(nlogn),而冒泡排序和插入排序的时间复杂度是O(n^2),堆排序的时间复杂度是O(nlogn)。

3. 在二叉树中,如果节点的度为2,那么该节点称为:A. 叶子节点B. 根节点C. 内部节点D. 空节点答案:C解析:节点的度是指该节点拥有的子树数目,度为2的节点称为内部节点。

叶子节点的度为0,根节点的度可以是任意数目。

4. 在哈希表中,通过关键字直接计算出数据元素存储地址的方法称为:A. 散列函数B. 哈希函数C. 转换函数D. 映射函数答案:A解析:哈希表中通过关键字计算存储地址的方法称为散列函数。

5. 图的存储结构有以下几种,不包括哪种?A. 邻接矩阵B. 邻接表C. 逆邻接矩阵D. 十字链表答案:C解析:图的存储结构包括邻接矩阵、邻接表、十字链表等,逆邻接矩阵不是图的存储结构。

二、填空题1. 在二叉树中,节点的度是指节点拥有的 __1__ 数目。

答案:子树2. 在散列表中,发生多个关键字映射到同一个存储地址的现象称为冲突,解决冲突的方法有 __2__ 和 __3__。

答案:开放地址法,链地址法3. 在树中,从根节点到叶子节点的路径上的节点数目称为树的__4__。

答案:高度4. 在图的深度优先搜索算法中,使用 __5__ 来记录已访问过的节点。

答案:栈5. 快速排序算法的平均时间复杂度为O(__6__)。

答案:nlogn三、简答题1. 请简要说明线性表的顺序存储结构和链式存储结构的特点及其适用场景。

考研数据结构算法题

考研数据结构算法题

1、在二叉搜索树中,若要进行中序遍历,访问根结点的顺序是?A. 第一个访问B. 最后一个访问C. 在左、右子树之间访问D. 不确定,与具体树结构有关(答案)C2、对于给定的无序数组,快速排序在最坏情况下的时间复杂度为?A. O(n)B. O(n log n)C. O(n2)D. O(log n)(答案)C3、在图的深度优先搜索(DFS)过程中,使用栈的主要目的是?A. 记录已访问的顶点B. 记录当前路径上的顶点,以便回溯C. 存储所有邻接顶点D. 确定搜索的起始点(答案)B4、下列哪种情况最适合使用哈希表进行数据存储和查找?A. 数据集合大小固定且较小B. 数据集合频繁变动,且需要快速查找C. 数据元素之间有明显的顺序关系D. 需要经常进行范围查询(答案)B5、在二叉树的后序遍历中,结点的访问顺序是?A. 先访问左子树,再访问右子树,最后访问根结点B. 先访问右子树,再访问左子树,最后访问根结点C. 先访问根结点,再依次访问左右子树D. 依次访问左、右子树,根结点的访问位置不固定(答案)A6、关于并查集(Union-Find)数据结构,下列说法错误的是?A. 主要用于处理一些不交集的合并及查询问题B. 使用路径压缩可以优化查找操作C. 使用按秩合并可以提高合并操作的效率D. 并查集不支持删除操作(注:传统并查集通常不直接支持删除某个特定元素的操作,但可以通过一些变通方法实现)(答案)D(注:此选项表述有争议,但在常见应用中,直接删除不是并查集的标准操作,故选择D作为“错误”的选项)7、在堆排序中,建立最大堆的过程是?A. 从最后一个非叶结点开始,向上调整堆B. 从根结点开始,向下调整堆C. 从第一个元素开始,依次比较并交换位置D. 从中间结点开始,向两端调整堆(答案)A8、下列关于B树(B-Tree)和B+树(B+ Tree)的说法中,错误的是?A. B树和B+树都是平衡树,保证了查找、插入、删除的时间复杂度B. B+树的所有叶结点通过一个链表相连,便于范围查询C. B树的每个结点都存储数据记录的关键字和实际数据D. B+树的内部结点只存储关键字,不存储实际数据,数据只存在于叶结点中(答案)C(注:在B+树中,内部结点只存储关键字,不存储实际数据,数据只存在于叶结点中;而B树的每个结点都可能存储数据记录的关键字和实际数据,但不一定所有结点都存,因此C选项的描述对于B树不完全准确,故选C)。

考研数据结构试题及答案

考研数据结构试题及答案

考研数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 队列答案:C2. 下列关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图中的边可以是无向边或有向边C. 图中任意两个顶点之间有且只有一条边D. 图可以是无向的或有向的答案:C3. 哈希表的冲突可以通过以下哪种方法来解决?A. 链地址法B. 排序C. 插入排序D. 选择排序答案:A4. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式被称为:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A5. 在排序算法中,时间复杂度为O(nlogn)的算法是:A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B二、填空题(每题2分,共10分)1. 在二叉搜索树中,对于任意节点,其左子树中的所有节点的值都比该节点的值________。

答案:小2. 堆是一种特殊的完全二叉树,其中每个节点的值都大于或等于其子节点的值的堆被称为________。

答案:最大堆3. 在图的遍历中,深度优先搜索(DFS)使用的数据结构是________。

答案:栈4. 动态数组在进行插入操作时,如果数组已满,通常需要进行________操作。

答案:扩容5. 快速排序算法在最坏情况下的时间复杂度是________。

答案:O(n^2)三、简答题(每题5分,共20分)1. 请简述什么是递归,并举例说明递归在数据结构中的应用。

答案:递归是一种方法,它允许函数调用自身来解决问题。

在数据结构中,递归常用于遍历树和图,例如二叉树的前序、中序和后序遍历。

2. 描述排序算法中的稳定性和不稳定性,并给出一个稳定性排序算法的例子。

答案:稳定性排序算法是指在排序过程中,相等的元素的相对顺序不会改变。

不稳定性排序算法则可能改变相等元素的相对顺序。

数据结构考研真题及其答案

数据结构考研真题及其答案

数据结构考研真题及其答案数据结构是计算机科学与技术专业考研中的重要科目之一,它对于培养学生的程序设计和算法分析能力具有关键作用。

以下将为大家呈现一些典型的数据结构考研真题,并提供详细的答案解析。

一、选择题1、若一个栈的输入序列为 1, 2, 3, 4, 5,不可能得到的输出序列是()A 2, 3, 4, 1, 5B 5, 4, 3, 2, 1C 1, 5, 4, 3, 2D 3, 4, 2, 5, 1答案:C解析:栈的特点是“后进先出”。

对于选项 C,先输出 1,意味着 2、3、4、5 都已入栈,此时栈顶元素为 5,不可能接着输出 5 之后就输出4。

2、已知一棵二叉树的先序遍历序列为 ABCDEFG,中序遍历序列为 CBDAEGF,则其后序遍历序列为()A CDBAFGEB CDBGFEAC CDBAGFED BCDAFGE答案:B解析:先根据先序和中序遍历序列构建二叉树。

先序遍历中第一个节点 A 为根节点,在中序遍历中找到 A,其左边的 CBD 为左子树,右边的 EGF 为右子树。

同样的方法确定左子树和右子树的结构。

然后按照“左子树右子树根节点”的顺序得到后序遍历序列 CDBGFEA。

3、对于一个具有 n 个顶点的无向图,若采用邻接矩阵表示,则该矩阵的非零元素个数为()A n(n 1) / 2B n(n + 1) / 2C n(n 1)D n(n + 1)答案:A解析:无向图的邻接矩阵是对称的。

对于顶点 i 和 j(i ≠ j),若它们之间有边,则矩阵中对应位置为 1,共有 n(n 1) / 2 对不同的顶点对,所以非零元素个数为 n(n 1) / 2 。

二、简答题1、简述冒泡排序的基本思想,并分析其时间复杂度和空间复杂度。

答案:冒泡排序的基本思想是通过相邻元素的两两比较和交换,将最大(或最小)的元素逐步“浮”到数组的一端。

时间复杂度:在最坏情况下,即数组完全逆序,需要进行 n 1 轮比较,每轮比较 n i 次(i 为轮数,从 1 到 n 1),所以总的比较次数为n(n 1) / 2,时间复杂度为 O(n^2)。

考研数据结构试题(含答案)

考研数据结构试题(含答案)

考研数据结构试题(含答案)我以⼀名⼤学⽣的⼈格尊严保证,在本场考试中,⾃觉遵守考试纪律,服从考试管理,决不作弊或帮助别⼈作弊!签名:学院专业学号级班··················密···················封·····················线··················命题⼈签字:系主任签字:审核院长签字:共印份数:第1页共6页聊城⼤学计算机学院2012—2013学年第1学期期末考试2011级《数据结构》试题(闭卷B卷)⼀、单项选择题(共15题,每题2分,共30分)1.研究数据结构就是研究(D )。

A.数据的逻辑结构B.数据的存储结构C.数据的逻辑结构和存储结构D.数据的逻辑结构、存储结构及其基本操作2.在数据结构中,从逻辑上可以把数据结构分为(C )。

A.动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构3.算法分析的两个主要⽅⾯是(A )。

A.空间复杂度和时间复杂度B.正确性和简单性C.可读性和⽂档性D.数据复杂性和程序复杂性4.下⾯程序段的时间复杂度是( C )。

计算机数据结构今年考研真题及答案(供参考)

计算机数据结构今年考研真题及答案(供参考)

20091.为解决心算机与打印机之间速度不般配的问题,往常设置一个打印数据缓冲区,主机将要输出的数据挨次写入该缓冲区,而打印机则挨次从该缓冲区中取出数据。

该缓冲区的逻辑结构应当是A.栈B.行列C.树D.图2.设栈 S 和行列 Q 的初始状态均为空,元素abcdefg 挨次进入栈 S。

若每个元素出栈后立刻进入行列Q,且 7 个元素出队的次序是bdcfeag,则栈 S 的容量起码是A. 1 B.2 C.3 D.43.给定二叉树图所示。

设N 代表二叉树的根, L 代表根结点的左子树, R 代表根结点的右子树。

若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是A. LRN B.NRL C.RLN D.RNL4.以下二叉排序树中,知足均衡二叉树定义的是5.已知一棵完好二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则完好二叉树的结点个数最多是A.39 B.52 C.111 D.1196.将丛林变换为对应的二叉树,若在二叉树中,结点父结点,则在本来的丛林中,u 和 v 可能拥有的关系是系III.u 的父结点与 v 的父结点是兄弟关系A.只有 IIB.I 和 IIC.I 和 IIID.I 、II 和 IIIu 是结点 vI.父子关系的父结点的II. 兄弟关7.以下对于无向连通图特征的表达中,正确的选项是I.所有极点的度之和为偶数 II. 边数大于极点个数减 1 III. 起码有一个极点的度为 1A.只有 IB.只有 IIC.I 和 IID.I 和 III8.以下表达中,不切合m 阶 B 树定义要求的是A.根节点最多有 m 棵子树 B.所有叶结点都在同一层上C.各结点内重点字均升序或降序摆列 D.叶结点之间经过指针链接9.已知重点序列 5,8,12, 19,28,20, 15,22 是小根堆(最小堆),插入重点字 3,调整后获得的小根堆是A.3,5,12, 8, 28,20,15, 22,19B.3,5,12, 19,20,15, 22,8,28C.3,8,12, 5, 20,15,22, 28,19D.3,12, 5, 8, 28,20,15, 22,1910.若数据元素序列 11, 12,13,7,8, 9, 23,4,5 是采纳以下排序方法之一获得的第二趟排序后的结果,则该排序算法只好是A.起泡排序 B.插入排序 C.选择排序 D.二路合并排序41.(10 分)带权图(权值非负,表示边连结的两极点间的距离)的最短路径问题是找出从初始极点到目标极点之间的一条最短路径。

数据结构历年考研真题

数据结构历年考研真题

数据结构历年考研真题数据结构是计算机科学中的一门重要课程,也是计算机专业考研的必考科目之一。

在过去的几年中,数据结构的考试题目一直是考研复习的重点和难点。

本文将回顾一些历年的数据结构考研真题,帮助考生更好地了解考试内容和备考方法。

一、单选题1. 下列不是数据结构的是:A. 栈B. 队列C. 链表D. 树E. 图这是一道典型的单选题,考察考生对数据结构的基本概念的理解。

正确答案是E,图不是数据结构,而是一种抽象的数学模型。

2. 在二叉排序树中,若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值。

这种二叉排序树称为:A. 平衡二叉树B. 完全二叉树C. 红黑树D. 二叉搜索树这道题考察了对二叉排序树的定义和特点的理解。

正确答案是D,二叉搜索树。

二、填空题1. 设有一个长度为n的线性表L,采用顺序存储结构。

若线性表L中的元素按非递减顺序排列,则在最坏情况下,线性表L的查找时间复杂度为_________。

这是一道典型的填空题,考察了对查找算法时间复杂度的理解。

正确答案是O(n),最坏情况下需要遍历整个线性表。

2. 在哈希表中,解决冲突的方法有_________和_________。

这道题考察了对哈希表解决冲突方法的了解。

常见的解决冲突的方法有开放定址法和链地址法。

三、编程题1. 请编写一个函数,输入一个字符串,输出字符串中出现次数最多的字符及其出现次数。

这是一道典型的编程题,考察了对字符串处理和统计的能力。

可以使用哈希表记录每个字符出现的次数,然后找出出现次数最多的字符。

2. 请编写一个函数,输入一个整数数组,将数组中的元素按照从小到大的顺序排序,并输出排序后的数组。

这道题考察了对排序算法的理解和实现能力。

可以使用常见的排序算法如冒泡排序、插入排序或快速排序来实现。

通过回顾历年的数据结构考研真题,我们可以发现,数据结构考试题目主要涵盖了基本概念、算法复杂度、查找和排序等方面的知识点。

数据结构考研试卷 (10)

数据结构考研试卷 (10)

附录 B 三份数据结构考研试题及参考答案试题一(满分75)一、单项选择题(2×10分,共20分)1.某算法的时间复杂度为O(n2),表明该算法的_.A.问题规模是n2B.执行时间等于n2C.执行时间与n2成正比D.问题规模与n2成正比2.设线性表有n个元素,以下操作中,_在顺序表上实现比在链表上实现效率更高.A.输出第i(1≤i≤n)个元素值B.交换第1个元素与第2个元素的值C.顺序输出这n个元素的值D.输出与给定值x相等的元素在线性表中的序号3.设n个元素进栈序列是1,2,3,…,n,其输出序列是p1,p2,…p n,若p1=3,则p2的值_.A.一定是2B.一定是1C.不可能是1D.以上都不对4.设循环队列中数组的下标是0~N-1,其头尾指针分别为f(指向队头元素的前一位置)和r(指向队尾元素的位置),则其元素个数为_.A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N5.若串s=’abcefgh’,其子串(含空串和自身)的个数是_.A.8B.37C.36D.96.若将n阶上三角矩阵A按列优先顺序压缩存放在一维数组B[1..n(n+1)/2]中,第一个非零元素a11存放于B[1]中,则应存放到B[k]中的非零元素a ij(1≤i≤n;1≤j≤i)的下标i,j 与k的对应关系是k=( )。

A.i(i+1)/2+jB. i(i-1)/2+j-1C. j(j+1)/2+ID. j(j-1)/2+i-17. 设高度为h(根结点为第1层)的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为( ).A. 2hB.2h-1C.2h+1D.h+18. 无向图的邻接矩阵是一个()。

A. 对称矩阵B.零矩阵C.上三角矩阵D.对角矩阵9. 对线性表进行二分查找时,要求线性表必须()。

A. 以顺序表方式存储B. 以链接方式存储C. 以顺序方式存储,且结点按关键字有序排序D. 以链式方式存储,且结点按关键字有序排序10. 以下排序算法中,()不能保证每趟排序至少能将一个元素放到其最终位置上。

60所院校-《数据结构》考研试题集锦 第1章绪论

60所院校-《数据结构》考研试题集锦 第1章绪论

第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。

【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。

【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。

【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。

数据结构试题及答案考研

数据结构试题及答案考研

数据结构试题及答案考研试题:一、单项选择题(每题2分,共10分)1. 在数据结构中,下列哪个概念是为了解决动态数据存储问题而提出的?()A. 栈B. 队列C. 链表D. 数组2. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()A. O(n)B. O(n^2)C. O(log n)D. O(1)3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是()A. 栈B. 队列C. 链表D. 数组4. 哈希表的冲突可以通过多种方式解决,其中不是常用的方法是()A. 开放寻址法B. 链地址法C. 线性探测法D. 跳房子法5. 下列数据结构中,哪个不是树形结构?()A. 堆B. 二叉搜索树C. 哈夫曼树D. 邻接矩阵二、简答题(每题5分,共20分)1. 请简述什么是堆栈,并说明它们在计算机科学中的重要性。

2. 描述一下什么是平衡二叉树,并解释为什么它在数据库索引中非常有用。

3. 解释一下什么是图的最小生成树,并给出Prim算法的基本思想。

4. 什么是哈希表?为什么哈希表在解决冲突时需要一个好的哈希函数?三、算法设计题(每题15分,共30分)1. 给定一个整数数组,请设计一个算法找出数组中的最长递增子序列。

请给出算法的基本思想,并说明其时间复杂度。

2. 请设计一个算法,实现两个链表是否相交的检测。

如果相交,请返回交点的节点;如果不相交,返回null。

请给出算法的基本思想,并说明其时间复杂度。

四、综合题(共40分)1. 给定一个字符串,请实现一个函数,该函数可以计算出该字符串中所有子字符串的频率。

要求使用哈希表来存储子字符串及其频率。

请描述算法的步骤,并分析其时间复杂度和空间复杂度。

(20分)2. 请解释什么是B树,并说明为什么B树在数据库系统中被广泛使用。

(20分)答案:一、单项选择题1. C(链表)2. C(O(log n))3. A(栈)4. D(跳房子法)5. D(邻接矩阵)二、简答题1. 堆栈是一种特殊的数据结构,遵循后进先出(LIFO)原则。

数据结构c语言考研试题及答案

数据结构c语言考研试题及答案

数据结构c语言考研试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有一个结构体变量`Student`,其定义如下:```cstruct Student {char name[20];int age;float score;};```则以下哪个表达式是正确的?A. B. Student.ageC. Student.scoreD. Student.score = 89.5答案:D3. 在C语言中,以下哪个函数用于创建一个链表节点?A. mallocB. freeC. callocD. realloc答案:A4. 下列关于C语言数组的描述,哪个是不正确的?A. 数组的大小在编译时确定B. 数组可以是多维的C. 数组的索引从0开始D. 数组名是数组首元素的地址答案:D5. 在C语言中,以下哪个选项不是指针类型?A. int *B. float *C. char *D. int答案:D6. 在C语言中,以下哪个关键字用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B7. 下列关于C语言函数的描述,哪个是正确的?A. 函数必须有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数的参数可以是任意类型答案:C8. 在C语言中,以下哪个选项是正确的递归函数定义?A. void func() { func(); }B. int func() { return func(); }C. int func(int n) { if (n > 0) return func(n-1); }D. int func(int n) { if (n > 0) return n; }答案:B9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D10. 下列关于C语言指针的描述,哪个是不正确的?A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针可以存储数组的大小答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个结构体变量的语法是 `struct 结构体名________;`。

考研资料数据结构试题库

考研资料数据结构试题库

考研资料数据结构试题库Test 1⼀、单项选择题(每题2分,共30分)1.若某线性表中最常⽤的操作是取第i个元素和找第i个元素的前趋元素,则采⽤()存储⽅式最节省时间。

A) 单链表 B) 双链表 C) 单向循环链表 D) 顺序表2.串是任意有限个()。

A) 符号构成的序列 B) 符号构成的集合C) 字符构成的序列 D) 字符构成的集合3.设矩阵A的任⼀元素aij(1≤i,j≤10)满⾜:aij≠0;(i≥j,1≤i,j≤10)aij=0;(i现将A的所有⾮0元素以⾏序为主序存放在⾸地址为2000的存储区域中,每个元素占有4个单元,则元素A[9,5]的⾸地址为()。

A) 2340 B) 2336 C)2164 D) 21604.如果以链表作为栈的存储结果,则出栈操作时()。

A) 必须判别栈是否为满 B) 对栈不作任何判别C) 必须判别栈是否为空 D) 判别栈元素的类型5.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执⾏出队操作的语句为()。

A) front = front+1 B) front =(front+1) % mC) rear = (rear+1) % m D) front = (front+1) % (m+1)6.深度为6(根的层次为1)的⼆叉树⾄多有()结点。

A) 64 B) 32 C)31 D) 637.将含100个结点的完全⼆叉树从根这⼀层开始,每层上从左到右依次堆结点编号,根结点的编号为1。

编号为49的结点X的双亲的编号为()。

A) 24 B) 25 C)23 D) ⽆法确定8.设有⼀个⽆向图和,如果为的⽣成树,则下⾯不正确的说法是()。

A) 为的⼦图 B) 为的连通分量C) 为的极⼩连通⼦图且 D) 为的⼀个⽆环⼦图9.⽤线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值()。

A) ⼀定都是同义词B) ⼀定都不是同义词C) 多相同D) 不⼀定都是同义词10.⼆分查找要求被查找的表是()。

考研数据结构测试题及答案

考研数据结构测试题及答案

考研数据结构测试题及答案### 考研数据结构测试题及答案#### 一、选择题1. 在数据结构中,以下哪种结构不是线性结构?A. 栈B. 队列C. 树D. 图答案:C2. 一个长度为n的有序数组,使用二分查找算法查找一个元素,最多需要比较几次?A. nB. log₂nC. n/2D. nlog₂n答案:B3. 以下哪个是链表的优点?A. 随机访问B. 插入和删除不需要移动元素C. 存储空间利用率高D. 所有都是答案:B#### 二、简答题1. 简述堆栈(Stack)的基本操作,并说明它们的特点。

答案:堆栈的基本操作包括:- Push:向栈顶添加一个元素。

- Pop:移除栈顶的元素,并返回该元素。

- Peek/Top:查看栈顶元素,但不移除它。

- IsEmpty:判断栈是否为空。

特点:- 遵循后进先出(LIFO)原则。

- 插入和删除操作都在栈顶进行,时间复杂度为O(1)。

2. 描述二叉搜索树(BST)的插入操作。

答案:二叉搜索树的插入操作如下:1. 从根节点开始,如果待插入节点的值小于当前节点的值,则移动到左子树。

2. 如果待插入节点的值大于当前节点的值,则移动到右子树。

3. 重复步骤1和2,直到找到一个空位置,将新节点插入。

4. 如果新节点的值等于当前节点的值,根据具体实现,可以选择不插入或覆盖现有节点。

#### 三、编程题1. 编写一个函数,实现单链表的反转。

```cstruct ListNode {int val;struct ListNode *next;};void reverseList(struct ListNode head) {struct ListNode *prev = NULL, *curr = *head, *next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}*head = prev;}```2. 给定一个整数数组,编写一个函数,找出数组中最长的连续子数组的长度。

数据结构考研习题

数据结构考研习题

1线性表可用顺序表或链表存储。

试问:(1) 两种存储表示各有哪些主要优缺点(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变、在此情况下,应选用哪种存储表示?为什么?(3) 若表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?2 针对带表头结点的单链表,试编写下列函数。

(1) 定位函数Locate:在单链表中寻找第i个结点。

若找到,则函数返回第i个结点的地址;若找不到,则函数返回NULL。

(2) 求最大值函数max:通过一趟遍历在单链表中确定值最大的结点。

(3) 统计函数number:统计单链表中具有给定值x的所有元素。

(4) 建立函数create:根据一维数组a[n]建立一个单链表,使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂性为O(n)。

(5) 整理函数tidyup:在非递减有序的单链表中删除值相同的多余结点。

3 设ha和hb分别是两个带表头结点的非递减有序单链表的表头指针, 试设计一个算法, 将这两个有序链表合并成一个非递增有序的单链表。

要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。

表中允许有重复的数据。

4 设有一个表头指针为h的单链表。

试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如下图所示。

要求逆转结果链表的表头指针h指向原链表的最后一个结点。

5 从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将链接方向逆转,如右图所示。

在图中的指针p指向当前正在访问的结点,指针pr指向指针p所指结点左侧的结点。

此时指针p所指结点左侧的所有结点的链接方向都已逆转。

(1) 编写一个算法,从任一给定的位置(pr, p)开始,将指针p右移1个结点。

如果p移出链表,则将p置为NULL,并让pr停留在链表最右边的结点上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for i:=1 to n do for j:=1 to I do for k:=1 to j do x:=x+1 (2) 画出对长度为8的有序表进行折半查找的判定树,并求其在等概率时查找成功的平均 查找长度。 (3) 已知一棵二叉树如右图,给出对这棵二叉树进行前序、中序、后序遍历的结果序列.
(4) 假设用于通讯的电文仅由 8 个字母组成,字母在电文中出现的频率分别为{2,3,5, 7,11,4,13,15},试为这 8 个字母设计哈夫曼编码. (5) 在地址空间为 0~15 的散列区中,对以下关键字序列构 G 造哈希表,关键字序列为 (Jan,Feb,Mar, Apr,May,Jun,Jul Aug,Sep,Oct,Nov,Dec),H(x)=[i/2] ,其中 i 为关键字中第一 字母在字母表中的序号。要求用线性探测开放定址法处理冲突,并求出在等概率情况下查找 成功的平均查找长度。 (6) 构造有 7 个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。 三、 写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。 [15 分] 四、 编写一非递归算法,对一棵二叉排序树实现中序遍历。[15 分] 五、 编写程序,完成下列功能:[15 分] 1. 读入整数序列,以整数 0 作为序列的结束标志(0 不作为序列元素),建立一个单链表。 2. 实现单链表原地逆转,即单链表中结点指针方向反转,反转操作不使用额外的链表结点, 可使用临时工作单元。 例:输入序列为:1,8,4,3,0
PROCEDURE hanoi(n:integer;x,y,z:char); begin if n=1 then move(x,1,z) else [hanoi(n-1,x,z,y);
move(x,n,z); hanoi(n-1,y,x,z)] end 请写出执行 hanoi(3,a,b,c)时递归过程的实在参量变化过程及 move 的搬动过程。 三、数学归纳法证明非空满 K 叉树的叶子结点数目为(K-1)N+1,其中 N 为分支结点数目。 (10分) 四、编写程序,判断一带头结点的双向链表是否对称,对称是指表中各元素满足 ai=an-i+1 结点结构为如下:(10分) next
写出程序输出结果,说明为什么 T 的树出结果不同。 2. 有过程定义如下: PROCEDURE PRIT(N:INTEGER); BEGIN VAR N1:INTEGER; N1:=TRUNC(N/10);{TRUNC(x)表示取 x 的整数部分} S:=S*10+(N MOD 10); IF N1<>0 THEN PRIT(N1); WRITELN(N MOD 10) END; 问:置 S 初值为0,用 PRIT(12345)调用此过程,写出打印结果;当执行完此次调用 后,S 值是多少?
1. 一棵树采用孩子-兄弟方式存放,结点结构为
fc da ns le h ta ib ve
l
其中 fch 表示指向第一个孩子,nisib 表示指向下一个兄弟, level 表示结点层 次。
设根结点层次为1,其它以此类推,编写一算法,将树中所有结点层 次值置入相应 level 域。[10分]
六、以顺序存储结构表示串,设计算法,求串 S 中出现的第一个最长重
dada
prior
五、有一个由英文书目构成的文件(书名不定长度,以“;”为分割符);读入该文件,分)
六、二叉树按链表方式存放,且树中结点的关键字均不同。写一个判别给定二叉树是否为 二叉排序树的非递归算法。(10分)
写一个算法,确定一个 N 个顶点的无向图是否包含回路,此算法的时间代价应为 O(N)(10 分)
1) 算法的定义和特性 2) 抽象数据类型 3) 广义表与字符串属于线性表的理由 4) 封装 5) 排序算法的稳定性 6) 结构化程序设计 二、写出要求结果:(30分) 1.已知一二叉树中序序列为 DBGEAFC,后序序列为 DGEBFCA,给出其对应的二叉树。 2.给定权值{8,12,4,5,26,16,9},构造一棵带权路径长度最短的二叉树,并计 算其带权路径长度。 1. 有一线性表,要求重新排列,使所有的正数均在非正数之前,要求用最小交换次数 实现,你认为应采用什么方法? 4.只想得到 N 个元素序列中第 K 个最大元素之前的部分递减有序序列(K<<N),列出3 种速度快的方法名称与原因。 5 . 在 地 址 空 间 为 0~12 的 散 列 区 中 , 对 以 下 关 键 字 序 列 建 哈 希 表 : (Jan,Feb,Apr,May,Jun,Jul,Aug,Sep,Oct)。用线性探测法处理冲突,求出在等概率的情况 下查找成功与不成功的平均查找长度。 6.下面给出求 N 价 hanoi 塔的过程:
[注]:编写程序可选用盘 Pascal 或 C 语言,算法描述可选用类语言,必要时加上注释
一、简答下列问题: 1. 结构化程序设计 2. 参数传递的常用方式及含义 3. 数据类型 4. 几种基本数据结构的名称及特征 5. 算法定义与性质 6.
二、写出要求结果 1. PROGRAM PF(OUTPUT); VER T,M:INTEGER; FUNCTION F(N:INTEGER):INTEGER; BEGIN M:=N+M;F:=M END BEGIN M:=10;T:=(M+1)*F(10);WRITELN(T); M:=10;T:=F(10)*(M+1); WRITELN(T); M:=10;T:=M*F(10)+F(10); WRITELN(T); END.
三、编写一程序,要求打印以下的杨辉三角形(n 可设为10) [10分]
for i:=1 to n do for j:=1 to I do for k:=1 to j do x:=x+1 (2) 画出对长度为8的有序表进行折半查找的判定树,并求其在等概率时查找成功的平均 查找长度。 (3) 已知一棵二叉树如右图,给出对这棵二叉树进行前序、中序、后序遍历的结果序列.
(4) 假设用于通讯的电文仅由 8 个字母组成,字母在电文中出现的频率分别为{2,3,5, 7,11,4,13,15},试为这 8 个字母设计哈夫曼编码. (5) 在地址空间为 0~15 的散列区中,对以下关键字序列构 G 造哈希表,关键字序列为 (Jan,Feb,Mar, Apr,May,Jun,Jul Aug,Sep,Oct,Nov,Dec),H(x)=[i/2] ,其中 i 为关键字中第一 字母在字母表中的序号。要求用线性探测开放定址法处理冲突,并求出在等概率情况下查找 成功的平均查找长度。 (6) 构造有 7 个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。 三、 写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。 [15 分] 四、 编写一非递归算法,对一棵二叉排序树实现中序遍历。[15 分] 五、 编写程序,完成下列功能:[15 分] 1. 读入整数序列,以整数 0 作为序列的结束标志(0 不作为序列元素),建立一个单链表。 2. 实现单链表原地逆转,即单链表中结点指针方向反转,反转操作不使用额外的链表结点, 可使用临时工作单元。 例:输入序列为:1,8,4,3,0
3.
给定一组权值(7,18,3,32,5,26,12,8),构造
一棵哈夫曼树,并计算带权路径长度。 4. 将树转换成二叉树 5. 对给定以下关键字序列(Jan,Feb,Mar,Apr,May,
Jun,Jul,Aug),哈希函数 H(Key)为 Key 的第一字母 表中序号 MOD 7,采用线性探测再散列方法处理冲突, 要求:①构造一个装填因子为0.8的哈希表 ②求出等概率情况下查找成功与查找不成功的平均查找长度 6. 在 m 行 n 列的稀疏矩阵中,有七个非零元素,若用十字链 表表示,共需要多少个结点?
4.说明在图的遍历中,设置访问标志数组的作用。
5.在一个连通无向图上,欲求从一点 VI 到另一点 VJ(VI≠VJ)所经结点数目最少 的路径,在深度优先搜索、广度优先搜索、从一点到其余各顶点的最短路径或图 的其它算法中,你认为最好选择那种方法为基础,简述原因。
三、构造结果 [25分]
1. 二叉树按二叉链表方式存放,其中的 data 域为 char 类型,已 有按前序方式构造二叉树的算法,若输入序列为 AB□CD□□ED□G□□□,请给 出构造的相应二叉树。
六、 给出有向图 G 的邻接表表示。找出其一棵最小生成树。[11 分]
[注] 编写程序可选用 PASCAL 或 C 语言 算法描述采用类语言,应加上必要的注释 所有答案均要求写在答题纸上
一、 回答问题 [15分]
1.结构化程序设计 2.面向对象开发方法与面向过程开发方法的不同之处 3.数据类型含义与作用 4.稳定排序与不稳定排序
[注]:编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释 一、 回答下列问题:[20分] 1、 算法的定义和性质 2、 为什么说数组与广义表是线性表的推广? 3、 什么是结构化程序设计? 4、 哈希方法的基本思想 5、 给出一不稳定排序方法名称与实例 二、 构造结果:[24分] (1) 确定 x:=x+1语句在下面程序段中的频率,要求写出分析过程。
2.已知 Ackerman 函数定义如下:
n+1 当 m=0时 akm(m,n) = akm(m-1,1) 当 m≠0,n=0时
akm(m-1, akm(m,n-1)) 当 m≠0,n≠0时
写出 akm(2,1)时调用时变化过程与执行结果。
3. 对于正整数 A、B,说明下面程序段定义了什么函数功能,要求重写程序段, 使之完成原函数功能,且执行时间仅可能短。 Unsigned int f(a,b) int a,b; {if (a*b==0) return (a+b) else return(f(b-(b/a)*a,a); (注:b/a 相当整除) } 4. 写出在中序线索树 BT 中找结点 X 的后继结点的函数过程。
相关文档
最新文档