数据结构研究生入学考试模拟题(一)

合集下载

硕士研究生统一入学考试试题数据结构

硕士研究生统一入学考试试题数据结构

科目名称:数据结构请注意:答案必须写在答题纸上(写在试题上无效)。

请完成:(1)画出图G;(2)画出图G的邻接表表示;(3)根据(2)中画出的邻接表,写出从顶点a出发进行深度优先搜索(DFS)产生的深度优先序列;(4)从顶点a开始,用Prim算法构造图G的一棵最小生成树,并画出生成过程。

(20分)五、下图是一带权有向图,试采用Dijkstra算法求从顶点a到其他各顶点的最短路径,要求给出整个计算过程。

(13分)六、若一棵树中有度数为 1 至m 的各种结点数为n1,n2,…,n m(n m表示度数为m 的结点个数)请推导出该树中共有多少个叶子结点n0的公式。

(10分)七、在堆排序、快速排序和合并排序中:(1)若只从存储空间考虑,则应首先选取哪种排序方法,其次选取工作计划怎么写一、工作计划的概念工作计划是指机关、团体、企事业单位的各级机构,对定时期的工作预先作出安排和打算时所使用的文种。

工作计划是行政活动中使用范围很广的重要公文,也是应用写作的一个重头戏。

二、工作计划的特点(一)严肃性。

工作计划作为机关团体和企事业单位对工作的规划安排,往往会受到高度重视,因此工作计划的严肃性不可或缺。

(二)方向性、指导性。

工作计划往往是对本机关、本单位的发展或者工作的要点指明了方向,具有很强的指导性。

(三)战略性。

工作计划往往是机关单位发展战略的集中体现。

(四)科学性和可行性。

相关机关单位在制订工作计划的时候,往往要经过充分的论证和讨论,这就决定了工作计划先天的科学性和可行性特点。

三、工作计划的分类工作计划的分类多种多样,大致可以按照紧急程度、时间、制订计划的主体和任务的类型四个方面来分。

(一)工作计划按紧急程度可分为正常的、紧急的、非常紧急的工作计划。

(二)工作计划按时间的长短可分为长期工作计划、中期工作计划和短期工作计划,或者是年度工作计划、季度工作计划、月工作计划和周工作计划。

(三)工作计划按制订计划的主体可以分为自己制订的工作计划、上司下达的工作计划或者是同等职位请求协助完成的工作计划。

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。

数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。

通过使用不同的数据结构,可以更高效地存储、查找和操作数据。

2. 请解释什么是栈,并给出一个栈的应用场景。

栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。

栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。

3. 什么是队列?请给出一个队列的实际应用例子。

队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。

一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。

4. 请解释什么是链表,并给出一个链表的优点和缺点。

链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。

链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。

缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。

5. 请解释什么是树,并给出一个树的实际应用例子。

树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。

一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。

6. 请解释什么是图,并给出一个图的实际应用例子。

图是一种由节点和节点之间的连接关系组成的数据结构。

一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。

7. 请解释什么是散列(哈希)表,以及它的优势和劣势。

散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。

散列表的优势是查找操作的平均时间复杂度为O(1)。

劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。

数据结构考研试题精选及答案第1章绪论

数据结构考研试题精选及答案第1章绪论

绪论一、选择题 1.算法的计算量的大小称为计算的( 复杂性 A.效率 B. 2. 算法的时间复杂度取决于 A.问题的规模 3. 计算机算法指的是( (1) A .计算方法 法 (2) A .可执行性、 B. 1), B. 4. 5. )。

【北京邮电大学 2000二、3 (20/8 C. 现实性 D. 难度 、1 (2 分)] ( )【中科院计算所1998 待处理数据的初态它必须具备( 排序方法 C. A 和 B 这三个特性。

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

【中山大学 A .程序 B .问题求解步骤的描述 下面关于算法说法错误的是(A. 算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D.以上几个都是错误的 下面说法错误的是( )【南京理工大学 2000 一、2 (1.5分)] (1 )(2) (3) (4) A .D. 【武汉交通科技大学 19961998 二、1 (2 分)】 C .要满足五个基本特性 D . A 和C. 分)】)【南京理工大学2000 一、1 (1.5分)】 )【南京理工大学 2000 算法原地工作的含义是指不需要任何额外的辅助空间 在相同的规模n 下,复杂度O(n)的算法在时间上总是优于复杂度 O(2n )的算法所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 同一个算法,实现语言的级别越高,执行效率就越低(1) B.(1),(2) 7.从逻辑上可以把数据结构分为 A.动态结构、静态结构 C.线性结构、非线性结构 &以下与数据的存储结构无关的术语是A.循环队列B. 链表 9.以下数据结构中,哪一个是线性结构A.广义表B. 二叉树 10 .以下那一个术语与数据的存储结构无关?A.栈B. 11 .在下面的程序段中, 分)] 6.C.(1) ,(4)D.(3)( )两大类。

长春理工计算机数据结构考研模拟整合版

长春理工计算机数据结构考研模拟整合版

一、选择题(共20分,每题1分)1.从逻辑上可以把数据结构分为两大类,分别是()。

A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构2.下面给出的四种排序法中( )排序法是不稳定的排序法。

A. 插入B. 冒泡C. 二路归并D. 堆排序3.线性表是具有n个()的有限序列(n>0)。

A.表元素 B.字符 C.数据元素 D.数据项4.在下面的程序段中,对x的赋值语句的频度为()FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+50;A. O(2n) B.O(n) C.O(n2) D.O(log2n)5.下述哪一条是顺序存储结构的优点?()A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示6. 栈是一种()的线性表。

A. 先进先出B. 后进先出C. 后进后出D. 不分顺序7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。

A. 4,3,1,2,B. 2,1,3,4,C. 1,4,3,2,D. 1,2,4,3,8.双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()A. p^.llink:=q; q^.rlink:=p; p^.llink^.rlink:=q; q^.llink:=p^.llink;B. q^.llink:=p^.llink; p^.llink^.rlink:=q; q^.rlink:=p; p^.llink:=q^.rlink;C. q^.rlink:=p; p^.rlink:=q; p^.llink^.rlink:=q; q^.rlink:=p;D. p^.llink^.rlink:=q; q^.rlink:=p; q^.llink:=p^.llink; p^.llink:=q;9.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。

计算机考研数据结构试卷一(练习题含答案)

计算机考研数据结构试卷一(练习题含答案)

数据结构试卷 1一、单选题1. 栈和队列的共同特点是 ()。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时 ( ).A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构? ( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组 A[m][ n],假设 A[0][0] 存放位置在644(10),A[2][2] 存放位置在 676(10),每个元素占一个空间,问A[3][3] (10)存放在什么位置?脚注 (10)表示用10进制表示。

A.688B. 678C.692D.6965.树最适合用来表示 () 。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第 k 层的结点数最多为 ( ).A.2k-1B.2K+1 C.2K-1 D. 2 k-17. 若有 18 个元素的有序表存放在一维数组A[19] 中,第一个元素放 A[1] 中,现进行二分查找,则查找 A [3]的比较序列的下标依次为 ()A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对 n 个记录的文件进行快速排序,所需要的辅助存储空间大致为A. 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 的元素有()个,A.1B.2C.3D.410.设有 6个结点的无向图,该图至少应有 ()条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题1.通常从四个方面评价算法的质量:_________、 _________、 _________和_________。

2.一个算法的时间复杂度为 (n3+n2log2n+14n)/n2,其数量级表示为 ________。

数据结构模拟试题答案

数据结构模拟试题答案

《数据结构》模拟试题一、单项选择题(30分)1 .在数据结构的讨论中把数据结构从逻辑上分为 ____ J 。

A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构。

2 .算法分析的两个主要方面是―DA.正确性和简明性B.可读性和文档性C.数据复杂性和程序复杂性D.空间复杂性和时间复杂性 3 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 B 。

A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法4 .设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为cA.5B.6C.7D.95 .线性表采用链式存储结构时,要求内存中可用存储单元的地址—d _。

A.必须是连续的B.必须是部分连续的C. 一定是不连续的D.连续和不连续都可以6 .对具有n 个结点的线性表进行插入和删除操作,所需的算法时间复杂度为―dA. O(1)B. O(n)C. O(nlog 2n)D. O(n 2)7 .在单链表中指针p 所指结点之后插入指针为s 的结点,正确的操作是_b ___ 。

A. p->next=s;s->next= p->next;B. s->next= p->next; p->next=s;C. p->next=s; p->next = s->nextD. p->next=s->next; p->next=s;8 .栈中元素的进出原则是■—bA.先进先出B.先进后出C.栈空则进D.栈满则出 9 .长度是n 的顺序循环队列,front 和rear 分别指示队首和队尾,判断队列为满队列的条件是_dB. front=0 10 .下面说法不正确的是 ___ c. A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构D.广义表可以是一个多层次的结构 A. rear=0C. rear==frontD. (rear+1) %n==front11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为—d—。

2023年数据结构模拟考试及答案

2023年数据结构模拟考试及答案

数据结构模拟考试(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 100分)1、一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A、「log2n」+1B、log2n+1C、「log2n」D、log2n-12、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为A、O(n)B、O(0)C、O(1)D、O(n^2)3、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。

A、*S->top=e;S->top++;B、S->top++;*S->top=e;C、*S->top=eD、S->top=e;4、下列几种排序方法中要求辅助空间最大的是( )A、堆排序B、直接选择排序C、归并排序D、快速排序5、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为A、{B,F,C,J,A,E,D,I,C,H}B、{C,B,D,A,E,F,I,C,J,H}C、{B,F,C,E,A,I,D,C,H,J}D、{A,B,D,C,E,F,I,J,C,H}6、对含有 10 个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较( )次。

A、2B、3C、4D、57、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

A、r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n8、若长度为 n 的线性表采用顺序存储结构,访问其第 i 个元素的算法时间复杂度为()A、0 ( 1 )B、0 ( n )C、0 ( n2 )D、0 ( log2n )9、(6分)若希望1000个无序元素中尽快求得前10个最大元素,应借用(A)。

数据结构模考试题及答案

数据结构模考试题及答案

数据结构模考试题及答案一、单选题(共100题,每题1分,共100分)1、下面关于生成树的描述中,不正确的是( )A、生成树是树的一种表现形式B、生成树一定是连通的C、生成树一定不含有环D、若生成树顶点个数为n,则其边数一定为n-1正确答案:A2、用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。

A、图B、栈C、队列D、树正确答案:C3、下列四种基本的逻辑结构中,结构结点间不存在任何逻辑联系的是()A、集合B、树形结构C、图形结构D、线性结构正确答案:A4、以下数据结构中,哪一个是线性结构()。

A、线索二叉树B、二叉树C、有向图D、串正确答案:D5、n个顶点的连通图至少中含有( )边。

A、n-1B、n+1C、nD、0正确答案:A6、G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。

A、7B、8C、6D、9正确答案:D7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。

A、rear=front->nextB、front=rear->nextC、front=front->nextD、rear=rear->next正确答案:C8、一个栈的输入序列是 1 2 3 4 5,则下列序列中是栈的输出序列的是()。

A、1,4,2,5,3B、3,1,2,4,5C、2,3,4,1,5D、5,4,1,3,2正确答案:C9、假设以数组A[m]存放循环队列的元素。

已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( )A、(rear-length+m+1)%mB、(rear-length+m)%mC、(rear-length+m-1)%mD、(rear-length)%m正确答案:B10、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A、存储结构B、操作C、逻辑结构D、算法正确答案:C11、深度为k的完全二叉树中最少有()个结点。

数据结构和计算机组成原理之数据结构考研仿真模拟题

数据结构和计算机组成原理之数据结构考研仿真模拟题

数据结构和计算机组成原理之数据结构考研仿真模拟题在计算机科学与技术领域中,数据结构是一门重要的学科,它研究的是如何组织和管理计算机中的数据。

数据结构的应用广泛,几乎贯穿了计算机科学的方方面面,对于提高程序的效率和性能具有重要意义。

而在考研过程中,掌握和理解数据结构是必不可少的。

本文将通过仿真模拟题的方式,帮助读者加深对数据结构的理解和掌握。

1. 栈和队列栈是一种后进先出(Last In First Out, LIFO)的数据结构,而队列是一种先进先出(First In First Out, FIFO)的数据结构。

请设计一个栈,利用两个队列实现栈的基本操作:弹出(pop)、压入(push)和取栈顶元素(top)。

解答:使用两个队列Q1和Q2,将元素依次压入Q1中,当需要弹出或获取栈顶元素时,将Q1中的元素依次出队并压入Q2,直到Q1只剩下一个元素。

此时,弹出或取栈顶元素的操作实际上就是对Q1进行出队操作。

然后再将Q2中的元素依次出队并压入Q1,保持Q1为主队列。

2. 链表操作链表是一种动态数据结构,可以灵活地插入和删除节点。

请设计一个函数,将一个非递减有序链表转换为二叉搜索树。

解答:首先,找到链表的中间节点,以该节点作为根节点建立二叉搜索树的根,然后递归地将链表的左半部分和右半部分分别转换为二叉搜索树的左子树和右子树。

递归的结束条件是链表为空或者只有一个节点。

3. 二叉树操作二叉树是一种常用的数据结构,它的每个节点最多有两个子节点。

请设计一个函数,判断给定的二叉树是否为镜像对称的。

解答:对于给定的二叉树,可以使用递归的方式判断其是否为镜像对称的。

从根节点开始,分别判断左子树和右子树是否镜像对称。

判断的方法是比较左子树的左子树和右子树的右子树是否相等,同时比较左子树的右子树和右子树的左子树是否相等。

如果左子树和右子树都为空,或者满足上述条件,则二叉树为镜像对称的。

4. 图的遍历图是一种由节点和边组成的非线性数据结构,常用的遍历算法有深度优先搜索(Depth First Search, DFS)和广度优先搜索(Breadth First Search, BFS)。

数据结构与算法分析模拟试题及答案

数据结构与算法分析模拟试题及答案

数据结构与算法分析模拟试题及答案一、选择题1. 下列哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 树D. 图答案:B2. 在排序算法中,哪一种算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 堆排序答案:D3. 下列哪种算法不属于贪心算法?A. 背包问题B. 最短路径问题C. 活动选择问题D. 最小生成树问题答案:C4. 在二叉树中,下列哪种遍历方式是先访问左子树,再访问右子树?A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:C二、填空题1. 在链表中,每个节点包含两个域:数据域和______域。

答案:指针2. 在二分查找法中,每次比较的中间元素的下标为______。

答案:(low + high) / 23. 快速排序算法的时间复杂度为______。

答案:O(nlogn)4. 最小生成树算法中,普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法的时间复杂度分别为______和______。

答案:O(n^2),O(elogn)三、判断题1. 线性表是一种随机存取的数据结构。

()答案:正确2. 在二叉树中,每个节点的度都不超过2。

()答案:正确3. 贪心算法在每一步都选择当前最优解,一定能得到全局最优解。

()答案:错误4. 在排序算法中,冒泡排序算法的时间复杂度最低。

()答案:错误四、简答题1. 请简述快速排序算法的基本思想。

答案:快速排序的基本思想是分治法。

首先选取一个基准元素,将比基准元素小的元素放在其左边,比基准元素大的元素放在其右边。

然后递归地对左右两边的子数组进行快速排序。

2. 请简述二分查找法的基本思想。

答案:二分查找法的基本思想是折半查找。

首先确定待查找区间,然后计算中间元素的下标。

若中间元素等于目标值,则查找成功;若中间元素小于目标值,则在左半区间继续查找;若中间元素大于目标值,则在右半区间继续查找。

重复以上过程,直到查找成功或区间为空。

北京理工大学数据结构模拟题答案

北京理工大学数据结构模拟题答案

本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。

丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。

因为专一所以专业,理硕教育助您圆北理之梦。

详情请查阅理硕教育官网数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A二、填空题(每空1分,共26分)1.正确性易读性强壮性高效率2.O(n)3.9 3 34.-1 3 4 X * + 2 Y * 3 / -5.2n n-1 n+16.e 2e7.有向无回路8.n(n-1)/2 n(n-1)9.(12,40)()(74)(23,55,63)10.增加111.O(log2n) O(nlog2n)12.归并三、计算题(每题6分,共24分)1.线性表为:(78,50,40,60,34,90)2.邻接矩阵:邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12四、读算法(每题7分,共14分) 1. (1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a 2,a 3,…,an ,a 1) 2. 递归地后序遍历链式存储的二叉树。

五、法填空(每空2分,共8 分) true BST->left BST->right 六、编写算法(8分)int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i 为计数器 while(p!=NULL) { if (P->data==x) i++; p=p->next;}//while, 出循环时i 中的值即为x 结点个数 return i; }//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。

数据结构考研模拟题

数据结构考研模拟题

模拟试题一一.单项选择题1. 设有一个二维数组A[m][ n]在存储中按行优先存放,假设A[0][0] 存放位置在78010),A[4][6]存放位置在1146(10),每个元素占一个空间,则A[6][20] 在( )位置,(10)表明用10进制数表示。

A. 692(10)B. 780(10)C. 1146(10)D. 1340(10)2. 设有一个顺序存储的栈S ,让元素序列1, 2, 3, ..., n 依次进栈和出栈,得到的出栈序列为p 1, p 2, p 3, ..., p n 。

若p 3 = 1,则p 1是( )。

A. 2B. 3C. 4D. 53. 设有一个双端队列DQ ,若让元素序列1, 2, 3, …, n 顺序全进队然后再出队,则可能的出队序列有( )种。

A. nB. n(n -1)/2C.D. n!4. 假定一组元素序列为{38, 42, 55, 15, 23, 44, 30, 74, 48, 26},按次序插入每个元素生成一棵平衡二叉树,那么最后得到的平衡二叉树中度为2的结点个数为( )。

A. 1B. 3C. 4D. 55. 以下关于二叉树的说法中错误的是( )。

A. 在二叉树的后序序列中最后一个结点一定是二叉树的根结点。

B. 在二叉树的中序序列中最后一个结点一定是二叉树的一个叶结点。

C. 在二叉树的前序序列中最后一个结点一定是二叉树的一个叶结点。

D. 在二叉树的层次序序列中最后一个结点一定是二叉树的一个叶结点。

6. 下列关于后缀表达式的比较中,结果为“假”的是( )。

① xy+z+ == xyz++ ② xy+z - == xyz -+ ③ xy -z+ == xyz+-④ xy -z - == xyz -- A. ①B. ①②C. ③④D. ②④7. 设图G = (V, E),其中 V={V 0,V 1,V 2,V 3}E ={(V 0,V 1), (V 0,V 2), (V 0,V 3), (V 1,V 3)}则从顶点V 0开始对图G 的深度优先遍历序列总共有( )种。

东南大学研究生入学考试数据结构试题

东南大学研究生入学考试数据结构试题

东南大学研究生入学考试数据结构试题东南大学一九九四年攻读硕士学位研究生入学考试试题试题编号:451试题名称:数据结构一: 回答下列问题(共32分)1.最近最少使用(Least-Recently-Used)页替换是虚拟存储系统中常用的策略,试说明如何利用一页链接表时刻跟踪最近最少使用页?(8分)2.已知无向图G,V(G)={1,2,3,4},E(G)={(1,2),(1,3),(2,3),(2,4),(3,4)},试画出G的邻接多表(Adjacency Multilists),并说明,若已知点i,如何根据邻接多表找到与i相邻的点j?(8分)3.欲求前k个最大元素,用什么分类(sorting)方法好?为什么?什么是稳定分类?分别指出下列算法是否稳定分类算法,或易于改成稳定分类算法?(a) 插入分类 (b) 快速分类 (c) 合并分类 (d) 堆(heap)分类 (e) 基数分类(radix sort) (8分)4.构造最佳二叉检索树的前提条件是什么?在动态情况下,一般A VL树的查询性能不如完全二叉检索树的,为什么人们却采用A VL树呢?(8分)二:下列算法对一n位二进制数加1,假设无溢出,该算法的最坏时间复杂度是什么?并分析它的平均时间复杂性.(15分)type Num=array[1..n] of [0..1];procedure Inc(var A:Num);var j: integer;begin i:=n;while A[i]=1 doA[i]:=0;i:=i-1;end;A[i]:=1;end Inc;三:给定n*m矩阵A[a..b,c..d],并设A[i,j]<=A[i,j+1](a<=i<=b,c<=j<=d-1)和A[i,j]<=A[i+1,j](a<=i<=b-1,c<=j<=d),设计一算法以比O(n*m)小的时间复杂度判定值x是否在A中.(17分)四:设图G有n个点,利用从某个源点到其余各点最短路径算法思想,设计一产生G 的最小生成树的算法.(18分)五:字符序列的子序列由删除该序列任意位置的任意个元素而得.序列x和y的最长公共子序列记为Lcs(x,y),是x和y的公共子序列,且长度最大.例如,adcbcb是x=abdcbcbb和y=adacbcb的最长公共子序列.设x长度为n,y长度为m,设计一算法计算x和y的最长公共子序列的长度,尽可能改进你的算法,使它的时间复杂性为O(n*m).(18分) ________________________________________________________________ _______________试题编号:451试题名称:数据结构1.在磁带文件上进行二分查找行吗?为什么?(6分)2.分析确定下列程序中语句k:=k+1执行次数与n所成的数量级关系(即表示为O(f(n))的形式).(6分)k:=1; i:=k;while i<="" p="">begin k:=k+1; i=i+k; end;3.外排序中为什么采用k-路合并而不采用2-路合并?这种技术用于内排序有意义吗?为什么?(8分)4.索引顺序存取方法(ISAM)中,主文件已按主关键字(primary key)排序,为什么还需要主关键字索引?(6分)5.满二叉检索树(full binary search tree)符合B树定义吗?B树的插入(insetb)和删除(deleteb)算法适用于满二叉检索树吗?为什么?(10分)6.设无向图G有n个点e条边,写一算法建立G的邻接多表(adjacency multilists),要求该算法的时间复杂性为O(n+e),且除邻接多表本身所占空间外只用O(1)辅助空间.(16分)7.写一改进的递归快速排序算法,要求对于n个记录,该算法的递归深度<=1+log2(n),并说明你的算法满足这一要求.(17分)8.定义前序排列(preorder permutation)为1,2,……n的全部二叉树的中序排列(inorder permutation)集合为IP;再定义将1,2,……n从右到左经过一个栈可得到的全部排列集合为SP.例如,当n=3,SP={123,132,213,231,321}.问:IP包含于SP成立否?证明你的结论.(16分)9.设记录R[i]的关键字为R[i].key(1<=i<=k),树结点T[i](1<=i<=k-1)指向败者记录,T�为全胜记录下标.写一算法产生对应上述R[i](1<=i<=k)的败者树(tree of loser),要求除R[1..k]和T[0..k-1]以外,只用O(1)辅助空间.(15分)________________________________________________________________ _试题编号:451试题名称:数据结构一:回答下列问题(共46分)1.线性表(a(1),a(2),……a(n))用顺序映射表示时,a(i)与a(i+1)(1<=i<n)的< bdsfid="113" p=""></n)的<>物理位置相邻吗?链接表示时呢?(5分)2.一棵前序序列为1,2,3,4的二叉树,其中序序列可能是4,1,2,3吗?设一棵二叉树的前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树.(7分)3.在模式匹配KMP(Knuth,Morris and Pratt)算法中所用失败函数f的定义中,为什么要求p(1)p(2)……p(f(j))为p(1)p(2)……p(j)两头匹配的真子串?且为最大真子串?(7分)4.在union-find问题中,控制union操作的权重(weighting)规则是何含义, 有何效果?控制find操作的倒塌(collapsing)规则是何含义,有何效果?(7分)5.堆排序(heap sort)是稳定排序吗?举例说明.(6分)6.给定输入文件:101,48,19,65,3,74,33,17,21,20,99,53,24,并设记录缓冲区个数k=4,写出基于败者树的外排序顺串生成算法runs输出的顺串.(6分)7.m阶B树中,m大小的确定与什么因素有关?(8分)二:设结点结构为:| data | link |,试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队和出队deleteq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间).(10分) 三:设有向图G有n个点(用1,2,……n表示),e条边,写一算法根据G的邻接表生成反向邻接表,要求时间复杂性为O(n+e).(13分) 四:设二叉树结点结构为:| left | data | bf | right |,定义二叉树结点T 的平衡因子bf(T)=h(左)-h(右),写一递归算法确定二叉树tree中所有节点的平衡因子bf,同时返回二叉树tree中非叶结点个数.(15分) 五:设符号表T重的标识符x满足1<=x<=m,且n为对T表的最大插入次数.设计符号表T的表示结构,允许使用O(m+n)空间,并写出T的初始化(init),查找(search),插入(insert)和删除(delete)算法,要求它们的时间复杂性都是O(1).(16分)________________________________________________________________试题编号:451试题名称:数据结构一:简要回答下列问题(共32分)1.在表达式中,有的运算符要求从右到左运算,如A^B^C的计算次序应为(A^(B^C)),这在由中缀生成后缀的算法中是怎样实现的?(8分)2.给出KMP算法中失败函数f的定义,并说明利用f进行串模式匹配的规则,该算法的技术特点是什么?(8分)3.Fibonacci查找算法(fibsrch)中为什么要求m<f(a-1),试用图示说明.(8分)< bdsfid="139" p=""></f(a-1),试用图示说明.(8分)<>4.为什么在倒排文件(inverted files)组织中,实际记录中的关键字域(key fields)可删除以节约空间?而在多表(multilists)结构中这样做为什么要牺牲性能?(8分)二:试写一算法,建立无向图G的邻接多表(adjacency multilists),要求说明算法中主要数据结构和变量的意义.(15分)三:给出中序线索树的结点结构并画出一个具有头结点的中序线索树,使其树结点至少应有6个,写一算法在不使用栈和递归的情况下前序遍历一中序线索树,并分析其时间复杂性.(18分)四:若S是n个元素的集合,则S的幂集P(S)定义为S的所有子集的集合.例如,S=(a,b,c),P(S)={(),(a),(b),(c),(a,b),(a,c),(b,c),(a,b,c)}.给定S, 写一递归算法求P(S).(15分)五:已知在llink-rlink存储法表示的二叉树中,指针t指向该二叉树的根结点,指针p,q分别指向树中的二个结点,试写一算法,求距离这两个结点最近的共同的祖先结点.(20分)________________________________________________________________试题编号:451试题名称:数据结构一:简要回答下列问题(共40分)1.设胜者树(selection tree)由k个记录缓冲区和k-1个非叶结点构成.概念上非叶结点表示其两个子女中关键字较小者,而实际上非叶结点存放的是什么?(5分)2.索引顺序存取方法(ISAM)中,主文件已按主关键字(primary key)排序,为什么还需要主关键字索引?(6分)3.一棵前序序列为1,2,3,4的二叉树,其中序序列可能是4,1,2,3吗?设一棵二叉树的前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树.(7分)4.构造最佳二叉检索树的前提条件是什么?在动态情况下,一般AVL 树的查询性能不如完全二叉检索树的,为什么人们却采用AVL树呢?(8分)5.将两个栈存入数组V[1..m]中应如何安排最好?这时栈空栈满的条件是什么?(6分)6.已知无向图G,V(G)={1,2,3,4},E(G)={(1,2),(1,3),(2,3),(2,4),(3,4)},试画出G的邻接多表(Adjacency Multilists),并说明,若已知点i,如何根据邻接多表找到与i相邻的点j?(8分)二:写出用堆排序(heap sort)算法对文件F=(12,3,15,30,9,28)进行排序时,初始堆及以后每挑好一个元素重新调整后堆的状态,并指出这里的堆和败者树(tree of loser)的一个主要区别.(8分)三:设数组A存放一n位二进制数,试说明下列算法X的功能.假设无溢出,算法X的最坏时间复杂度是什么?分析它的平均时间复杂性.(8分) type Num=array[1..n] of [0..1];procedure X(var A:Num);var j: integer;begin i:=n;while A[i]=1 dobeginA[i]:=0;i:=i-1;end;A[i]:=1;end;四:下面是一改进了的快速分类算法:1 procedure qsort1(var list:afile;m,n:integer);2 (设list[m].key<list[n+1].key)< bdsfid="180" p=""></list[n+1].key)<>3 var i,j,k:integer;4 begin5 while m<="" p="">6 begin7 i:=m;j:=n+1;k:=list[m].key;8 repeat9 repeat i:=i+1 until list[i].key>=k;10 repeat j:=j-1 until list[j].key<=k;11 if i<="" p="" then="">12 until i>=j;13 interchange(list[m],list[j]);14 if n-j>=j-m15 then begin qsort1(list,m,j-1);m:=j+1;end16 else begin qsort1(list,j+1,n);n:=j-1;end17 end;(of while)18 end;问: (共20分)1.将第9,10行中的>=,<=分别改成>,<行吗?为什么?(5分)2.该排序算法稳定否,举例说明.(5分)3.对输入文件(22,3,30,4,60,11,58,18,40,16),列表表示该文件在每次调用qsort1时的状态及相应m,n的值.(5分)4.若输入文件有n个记录,简要说明支持qsort1递归所需最大栈空间用量(设一层递归用一个单位栈空间).(5分)五:给定AOE网络各事件(标号1..n)的ee,le值和邻接表,写一算法求该AOE的所有活动(用相应边的两端点表示)的关键度(criticality).(10分)六:给出中序线索树的结点结构,并画出一个具有头结点和六个树结点的中序线索树,试写一算法在不使用栈和递归的情况下前序遍历一中序线索树,并分析它的时间复杂性.(18分)________________________________________________________________ _____东南大学一九九九年攻读硕士学位研究生入学考试试题试题编号:451试题名称:数据结构注意事项:(1) 答卷上需写清题号,不必抄题;回答问题字迹工整,卷面清洁.(2) 编程中所用的数据结构及主要变量需加以说明,必要时程序中加以注释.一:简要回答下列问题(共40分)1.利用两个栈s1,s2模拟一个队列时,如何用栈的运算实现队列的插入,删除以及判队空运算.请简述算法思想.(7分)2.二叉树有n个顶点,编号为1,2,3,……n,设:T中任一顶点V的编号等于左子树中最小编号减一;T中任一顶点V的右子树中最小编号等于其左子树中最大编号加一;试描绘该二叉树.(7分)3.设某文件经内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,并要求三趟归并完成排序,归并路数最少为多少?(5分)4.若一棵树中有度数为1至m的各种结点数分别为n1,n2,...nm(nm表示度数为m的结点个数),请推导出该树中共有多少个叶结点n0的公式.(8分)5.试举例分析,堆排序法是否稳定.(5分)6.试利用KMP算法和改进算法分别求p1='abcabaa'和p2='aabbaab'的NEXT函数和NEXTVAL函数.(8分)二:阅读下列算法,指出算法A的功能和时间复杂性.(10分)procedure A(h,g: pointer);(h,g分别为单循环链表(single linked circular list)中两个结点指针)procedure B(s,q: pointer);var p: pointer;beginp:=s;while p^.next<>q do p:=p^.next;p^.next:=s;end; (of B)beginB(h,g);B(g,h);end; (of A)三:已知无向图采用邻接表存储方式,试写出删除边(i,j)的算法.(10分) 四:线性表中有n个元素,每个元素是一个字符,存在向量R[1..n]中,试写一个算法,使R中的字符按字母字符,数字字符和其它字符的顺序排列.要求利用原空间,且元素移动次数最少.(15分)五:四阶B树中(如图所示),插入关键字87,试画出插入调整后树的形状.(10分)|30 60 80|/ / \ \|20 25| |35 50| |60 70 75| |82 85 90|六:试编写一算法对二叉树按前序线索化.(15分)________________________________________________________________ _____东南大学二○○○年攻读硕士学位研究生入学考试试题科目编号:451科目名称:数据结构一:简要回答下列问题(共40分)1.假设一棵二叉树的层序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,请画出该树.(6分)2.简单比较文件的多重表和倒排表组织方式各自的特点.(6分)3.画出对算术表达式A-B*C/D+E^F求值时操作数栈和运算符栈的变化过程.(6分)4.找出所有满足下列条件的二叉树6分)a)它们在先序遍历和中序遍历时,得到的结点访问序列相同;b)它们在后序遍历和中序遍历时,得到的结点访问序列相同;c)它们在先序遍历和后序遍历时,得到的结点访问序列相同.5.对一个由n个关键字不同的记录构成的序列,能否用比2n-3少的次数选出该序列中关键字取最大值和关键字取最小值的记录?请说明如何实现?在最坏情况下至少进行多少次比较?(8分)6.已知某文件经过置换选择排序后,得到长度分别为47,9,31,18,4,12,23,7的8个初始归并段.试为3路平衡归并设计读写外存次数最少的归并方案,并求出读写外存的次数.(8分)二:已知L是无表头结点的单链表,其中P结点既不是首元结点,也不是尾元结点,(10分)a)在P结点后插入S结点的语句序列是______b)在P结点前插入S结点的语句序列是______c)在表首插入S结点的语句序列是______d)在表尾插入S结点的语句序列是______(1) P^.next:=S;(2) P^.next:=P^.next^.next;(3) P^.next:=S^.next;(4) S^.next:=P^.next;(5) S^.next:=L;(6) S^.next:=NIL;(7) Q:=P;(8) WHILE P^.next<>Q DO P:=P^.next;(9) WHILE P^.next<>NIL DO P:=P^.next;(10) P:=Q;(11) P:=L;(12) L:=S;(13) L:=P;三:设计一个符号表的表示方法,编写算法使得在该表中进行查询,插入和删除任何一个标识符X的操作在O(1)的时间内.假设1<=x<=m,n为要插入的个数,所需空间为m+n.(10分)四:试利用Dijkstra算法求下图中从顶点a到其它各顶点的最短路径,写出执行算法过程中各步的状态.(10分)____________/ 4 \↓ 6 \b------→e___9 \15↑↑ \ // 2 /8 ↓/a------→c g (和严蔚敏习题集上题目相同)\ \4 ↑↑12↓ 5 ↓ 10/ /d←------f__/ /\___________/3五:以顺序存储结构表示串,设计算法,求串S中出现的第一个最长重复子串及其位置并分析算法的时间复杂度.(15分)六:写出按后序序列遍历中序线索树的算法.(15分)________________________________________________________________ _____二○○一年的题目(缺两道小题):一:1.设胜者树(selection tree)由k个记录缓冲区和k-1个非叶结点构成.概念上非叶结点表示其两个子女中关键字较小者,而实际上非叶结点存放的是什么? 3.给出KMP算法中失败函数f的定义,并说明利用f进行串模式匹配的规则,该算法的技术特点是什么?5.是一道关于Huffman树中叶子结点和非叶结点数量关系的计算题,具体题目记不得了.6.求有向图中任意一对顶点之间最短路径的弗洛伊德算法(allcosts-Floyd)中,要求有向图满足什么前提条件?二:在二叉树的结点结构中增加一个域:leftsize,t^.leftsize表示t结点的左子树中结点的总个数,试编写算法alloc(k),在二叉树中查找中序序号为k的结点,要求时间复杂度为O(log2(n)).三:编写算法输出从n个自然数中取k个(k<=n)的所有组合.例如,当n=5,k=3时,你的算法应该输出:543,542,541,532,531,521,432,431,421,321.四:设有向图G用邻接表的方式存储,u,v是G中的任意两个结点,写一算法,求出G中从u到v的所有简单路径.五:下面是一改进了的快速排序算法,试补充其中的空白语句,并分析该算法所需的最大递归空间是多少?procedure qsort1(var list:afile;m,n:integer);(设list[m].key<list[n+1].key)< bdsfid="324" p=""></list[n+1].key)<>var i,j,k:integer;beginwhile m<="" p="">begini:=m;j:=n+1;k:=list[m].key;repeatrepeat i:=i+1 until list[i].key>=k;repeat j:=j-1 until list[j].key<=k;if i<="" p="" then="">until i>=j;interchange(list[m],list[j]);if n-j>=j-mthen begin qsort1(list,m,___);______;endelse begin qsort1(list,___,n);______;endend;(of while)end;六:给定n*m矩阵A[a..b,c..d],并设A[i,j]<=A[i,j+1](a<=i<=b,c<=j<=d-1)和A[i,j]<=A[i+1,j](a<=i<=b-1,c<=j<=d),设计一算法以O(n+m)的时间复杂度判定值x是否在A中.。

2020年中国矿业大学(北京)计算机数据结构考研模拟题(一)

2020年中国矿业大学(北京)计算机数据结构考研模拟题(一)
中国矿业大学(北京)2020 年招收攻读硕士学位研究生 入学考试模拟试题(一)
考试科目:计算机技术数据结构 考试时间:180 分钟 总分:150 分 命题时间:2019 年 3.20 日 命题人:育明教育考研考博研究室
考生注意: 1.本试题的答案必须写在规定的答题纸上,写在试卷上一律不给分。 2.考试结束后,将答题纸和试卷一并装入试卷袋内。
5. 对于树的应用与理解在实际问题解决中占据着很重要的地位,“二叉树”、“查 找树”、“红黑树”、“B-树”…这些名词经常出现在我们的耳边。试辨析一棵深 度为 5 的树、一棵深度为 5 的二叉树以及一棵 5 阶 B-树的异同。(8 分)
二、 求解以下问题(50 分) 1. 假设用于通讯的电文仅有 6 个字母 a,b,c,d,e,f 组成,字母在电文中出
4. 堆排序是人们经常会用到的一种排序方式,有一组数据{15,9,7,8,20, -1,7,4},求用堆排序的方法建立的初始小根堆。 (10 分)
5. 在表 1 中给出了某工程各工序间的优先关系和各工序所需要的时间(其中“-” 表示无先驱工序),请完成以下各题:(10 分) 表 1 工程工序的优先关系和所需时间
现的频率分别为 7,19,5,16,42,11,试为这 6 个字母设计哈夫曼编码。 (10 分) 2. 实际应用中,对于有向图和无向图都有着相应的存储方式,试求下图所示的 有向图 G1 的十字链表表示方法。(10 分)
V1
V2
V3
V4
图 1. 有向图 G1
3. 设哈希函数为:H(key)=key mod 13,其中 key 为关键字,mod 为取模运算。 使用关键字序列{39,25,15,54,26,24,14,21,37,38}构造哈希表。(10 分) (1) 用链地址法处理冲突,画出该哈希表的存储结构图,假定每个记录的查找 概率相等,计算查找成功时的平均查找长度。 (2) 设表地址范围为 0-13,用线性探测再散列法处理冲突,画出该哈希表的存 储结构图,假定每个记录的查找概率相等,计算查找成功时的平均查找长 度。

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

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

考研数据结构测试题及答案### 考研数据结构测试题及答案#### 一、选择题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. 给定一个整数数组,编写一个函数,找出数组中最长的连续子数组的长度。

北邮考研数据结构专业课模拟题3套

北邮考研数据结构专业课模拟题3套

北京邮电大学数据结构考研模拟题一一、选择题1. 算法的时间复杂度取决于()A.问题的规模 B. 待处理数据的初态 C. A和B2.下面关于线性表的叙述中,错误的是哪一个?A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

3. 栈在()中应用。

A. 递归调用B. 子程序调用C. 表达式求值D. A,B,C4.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串 B.联接 C.匹配 D.求串长5. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。

A. 1175B. 1180C. 1205D. 12106在一棵高度为k的满二叉树中,结点总数为()A.2k-1 B.2k C.2k-1 D.⎣log2k⎦+17.哪一种图的邻接矩阵是对称矩阵?()A.有向图 B.无向图 C.AOV网 D.AOE网8.动态存储管理系统中,通常可有()种不同的分配策略。

A. 1 B. 2 C. 3 D. 4 E. 59如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。

A. 分快查找B. 顺序查找C. 折半查找D. 基于属性10组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。

A.(38,40,46,56,79,84) B. (40,38,46,79,56,84)C.(40,38,46,56,79,84) D. (40,38,46,84,56,79)二、判断题1算法的优劣与算法描述语言无关,但与所用计算机有关。

( )2 链表中的头结点仅起到标识的作用。

( )3 有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)]。

硕士研究生统一入学考试试题数据结构(-B)

硕士研究生统一入学考试试题数据结构(-B)
9.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>
<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
(A)V1,V3,V4,V6,V2,V5,V7 (B)V1,V3,V2,V6,V4,V5,V7
(1)试画出对应的哈夫曼树;(5分)
(2)每个字符的哈夫曼编码;(5分)
(3)求带权外部路径长度(WPL)。(5分)
五、对一组无序记录(72,38,96,23,15,54,60,45,83),画出建立原始大根堆(10分)
六、已知一个带权图G的顶点集V和边集E分别为:(共15)
V = { v1,v2,v3,v4,v5},
(C)仅修改尾指针(D)头、尾指针可能都要修改
4.下列编码中属前缀码的是( )
(A){1,01,000,001}(B){1,01,011,010}
(C){0,10,110,11}(D){0,1,00,11}
5.两个字符串相等的充要条件是()。
(A)两个字符串的长度相等(B)两个字符串中对应位置上的字符相等
(2)画出图G的邻接表表示;(3分)
(3)写出从顶点v1出发进行深度优先搜索(DFS)产生的深度优先生成树;(4分)
(4)从顶点v1开始,用Prim算法构造图G的一棵最小生成树,并画出生成过程(5分)
七、请用图示说明图从顶点a到其余各顶点之间的最短路径。(15分)
八、给出关键字序列{4,5,1,2,8,6,7,3,10,9}的希尔排序过程,对于每一个增量写一次排序后的序列(10分)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨工业大学
二〇〇八年硕士研究生考试模拟试题(一)
考试科目:计算机专业基础
适用专业:计算机科学与技术
I 数据结构(含高级语言)部分(共75分)
一、填空题(每空1分,共9分)
+−++的后缀表达式
1.表达式23((12*32)/434*5/7)108/9
是。

2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85
的地址为。

3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表
A的操作序列为。

4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数
为。

5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。

6.构造n个结点的强联通图,至少有条弧。

7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查
找成功的ASL是。

8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时
间的是算法,最费时间的是算法。

二、单项选择题(每题1分,共11分)
1.静态链表中指针表示的是()
A 下一元素的地址
B 内存储器的地址
C 下一元素在数组中的位置
D 左链或右链指向的元素的地址
2.计算算法的时间复杂度是属于一种()
A 事前统计的方法
B 事前分析估算的方法
C 事后统计的方法
D 时候分析估算的方法
3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()
A 1和5
B 2和4
C 4和2
D 5和1
4.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储
单元,则第3行第4列的元素(假定无第0行第0列)的地址是()
A 1040
B 1042
C 1026
D 都不正确
5.一棵124个叶节点的完全二叉树,最多有()个节点。

A 247
B 248
C 249
D 250
E 251 6.
有n (n>0)个分支结点的满二叉树的深度为( ) A n 2-1 B log 2(n+1)+1 C log 2(n+1) D log 2(n-1) 7.
某二叉树结点的中序序列为BDAECF ,后续序列为DBEFCA ,则该二叉树对应的森林包括( )棵树。

A 1 B 2 C 3 D 4 8.
一棵Huffman 树共有215个结点,对其进行Huffman 编码,共能得到( )个不同的码字。

A 107 B 108 C 214 D 215 9.
下面哪一方法可以判断出一个有向图是否有环( ) A 深度优先遍历 B 拓扑排序 C 求最短路径 D 求关键路径 10.
关于Hash 查找,下列说法正确的是( ) A hash 函数构造的越复杂越好,因为这样随机性好,冲突小。

B 除留余数法是所有Hash 函数中最好的; C 不存在特别好与坏的Hash 函数,要视情况而定。

D 若需在Hash 表中删去一个元素,不管用何种方法解决冲突都只需简单的将该元素删去即可。

11. 对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后的数据的排列变为{4,9,
-1,8,20,7,5};则采用的是( )排序。

A 选择
B 快速
C 希尔
D 冒泡
三、判断下列叙述是否正确,若正确,请画“√”,否则画“×”(每题1分,共9分)
1. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。

( )。

2. 完全二叉树的前序序列中,若结点u 在结点v 之前,则u 一定是v 的祖先。

( )
3. Huffman 树的节点个数不能是偶数( ) 。

4. 若有向图不存在回路,即使不用访问标志位同一结点也不会被访问两次。

( )
5. 在AOE 图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多
少。

( )
6. 折半查找的查找速度一定比顺序查找法快。

( )
7. 在平衡二叉树中,向某个平衡因子不为零的节点的树中插入一新结点,必定引起平
衡旋转。

( )
8. 若装填因子a 为1,则向Hash 表中散列元素时一定会产生冲突。

( )
9. 在初始表已经有序时,快速排序算法的时间复杂度为()2log n O n 。

( ) 四、简答(共18分)
1. 数据类型和抽象数据类型是如何定义的?二者有何不同和相同?抽象数据类型的
主要特点是什么?使用抽象数据类型的主要好处是什么?
2. 说明在线性表的链式存储结构中,头指针和头节点之间的根本区别;头节点和首元
节点的关系。

3. 已知递归函数F (m ),(其中DIV 为整除):
1m 0()(2)m>0F m mF mDIV =⎧=⎨⎩当时当时
(1) 写出F (m )的递归算法;
(2) 写出F (m )的非递归算法。

4. 若森林共有n 个结点和b 条边(b<n),则该森林中共有多少棵树?
5. 在什么情况下,Prim 算法和Kruskal 算法生成不同的MST ?
6. Hash 方法的平均查找长度取决与什么?是否与结点个数N 有关?处理冲突的方法
主要有哪些?
五、算法设计(共28分)
1. 已知长度为n 的线性表A 采用顺序存储结构,请设计一算法,满足时间复杂度为
O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item 的数据元素。

(O(1)表示算法的辅助空间为常量)
2. 设稀疏矩阵M m*n 中有t 个非零元素,用三元组顺序表的方式存储。

请设计一个算
法,计算矩阵M 的转置矩阵N ,要求转置算法的时间复杂度为O (n+t )。

3. 试写一非递归算法,使得右图中树的遍历输出顺序为字母顺序。

4. 假设二叉排序树T 中各个元素值均不相同,试设计一递归算法按递减次序打印各
元素的值。

B C A
E
F D H
J P I O T N R K L Q
U
M S G。

相关文档
最新文档