青岛大学 青大 2003年数据结构 考研真题及答案解析
青岛大学2015年硕士研究生入学考试初试试题考试科目:910数据结构
青岛大学2015年硕士研究生入学考试试题 科目代码: 910 科目名称: 数据结构 (共 5 页) 请考生写明题号,将答案全部答在答题纸上,答在试卷上无效一、单项选择题(本大题共10道小题,每小题2分,共20分)1.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象,以及它们之间的( )和运算的学科。
A .逻辑存储B .关系C .算法D .数据映像2.下列函数中渐近时间复杂度T(n)最小的是( )。
A .T(n) = 2105000n n --B .T(n) = 230000060n n --C .T(n) = 10000000D .T(n) = 2log 1000*2100n n --3.在计算机的存储器中表示时,物理地址和逻辑地址相同并且是连续的,称之为( )。
A .逻辑结构B .物理结构C .顺序存储结构D .链式存储结构4.有六个元素{6,5,4,3,2,1},依次顺序进栈,下列哪一个不是正确的出栈序列?( )。
A .5 4 3 6 1 2 B. 4 5 3 2 1 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 65.循环队列存储在数组 Q[MAX]中,则入队列时的操作为( )。
A .rear=rear+1B .rear=(rear+1) MOD (MAX-1)C .rear=(rear+1) MOD MAX D .rear=(rear+1) MOD (MAX+1)6.若一棵二叉树具有8个度为2的结点,4个度为1的结点,则度为0的结点个数是( )。
A .8B .9C .12D .137.用顺序存储的方法将完全二叉树中所有结点逐层存放在数组R[1..n]中,结点R[i]若有双亲结点,则双亲结点是( )。
A .R[i/2]B .R[2i]C .R[2i+1]D .R[2i-1]8.下列哪一种图的邻接矩阵是对称矩阵?( )。
A .AOV 网B .AOE 网C .有向图D .无向图9.对线性表进行二分查找时,要求线性表必须( )A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链式方式存储,且数据元素有序10.内部排序方法的稳定性是指()。
数据结构考研真题和答案
数据结构考研真题和答案数据结构是计算机科学中的重要基础课程,对于计算机专业的学生而言,掌握好数据结构非常关键。
考研阶段,数据结构也是一个必考科目。
本文将介绍一些常见的数据结构考研真题以及详细的答案解析,希望能帮助同学们更好地备考。
1. 简述线性表的定义,举例说明线性表的应用场景。
线性表是数据结构中最基本的一种结构,它是由相同数据类型的有限个数据元素组成的序列。
线性表的特点是存储结构唯一,数据元素之间是一对一的关系。
在实际应用中,线性表常用来表示一组某种类型的数据集合,例如存储学生的学号信息、存储职工的工号信息等。
2. 解释栈的特点及其应用场景。
栈是一种特殊的线性表,它的特点是只能在表的一端进行插入和删除操作,表的另一端称为栈顶。
栈的插入操作称为入栈,删除操作称为出栈。
栈的特点是后进先出(LIFO),即最后插入的元素最先被删除。
栈在实际应用中有很多场景,例如函数调用栈、表达式求值、撤销操作等。
3. 什么是队列?请给出队列的一个实际应用案例。
队列也是一种特殊的线性表,它的特点是只允许在表的一端进行插入操作,而在另一端进行删除操作。
队列的插入操作称为入队,删除操作称为出队。
队列的特点是先进先出(FIFO),即最先插入的元素最先被删除。
队列在实际应用中有很多场景,例如排队、任务调度、消息队列等。
4. 什么是树结构?请简要介绍树结构的一些应用。
树是一种非线性的数据结构,它由n(n>=1)个有限节点组成一个具有层次关系的集合。
树的特点是一个节点可以有多个子节点,但是只能有一个父节点,除根节点外,每个节点可以有多个子节点。
树结构在实际应用中广泛存在,例如文件系统、组织结构、网络拓扑等。
5. 解释二叉树的定义,并给出一种常见的二叉树结构。
二叉树是一种特殊的树结构,它的每个节点最多有两个子节点,分别称为左子节点和右子节点。
二叉树的定义为一个有限的节点集合,该集合可以为空,如果非空则必须满足:(1)有且仅有一个称为根的节点;(2)该节点的左子树和右子树也是二叉树。
2003年研究生入学数据结构试题和答案
A2003年研究生入学试题已知一棵度为12 的树,它的根结点的地址为root。
该树是用顺序存储方式存储的,说明如下:struct node { i nt data;// 树中结点的数据场。
int son[12]; //给出结点的第一个、第二个……第12个儿子结点//地址。
}tnode[M]; //注意:M是一个常量。
请设计一个非递归的程序,按前序遍历该树,打印每个结点的的数据场之值,注意:如用递归程序实现,作零分处理。
(本题15 分。
)二.从键盘上输入一串正整数,最后输入-1作为结束标志。
如:8,7,1,22,98,46,……,75,-1。
请设计一个非递归程序,创建一棵二叉排序树,并且该二叉排序树业必须是中序线索二叉树。
设该二叉排序树上的结点结构为:其中:data 域为结点的数据场。
ltag=0,那么left域中存放的是该结点的左儿子结点的地址。
ltag=1,那么left域中存放的是该结点的按中序周游次序的前驱结点的地址。
rtag=0,那么right域中存放的是该结点的右儿子结点的地址。
rtag=1,那么right域中存放的是该结点的按中序周游次序的后继结点地址。
(本题20 分。
)三.已知中序线索二叉树的某结点的地址为P请设计一个程序给出地址为P 的结点的按前序周游次序的后继结点的地址q。
注意:本程序要求辅助空间只能为O(1),否则作零分处理。
另外,结点形式可参考第2 题。
(本题15 分。
)四.已知某有向图用邻接表表示。
该邻接表的结点及边表说明如下:#define TOTAL 1000struct arcnode { int adjvex; // 该边所指向的结点的下标地址。
struct arcnode *nextarc; // 给出下一条边的边结点的地址。
} arcnode ; // 边结点说明。
struct vnode { int data; // 结点数据场,其值为整数。
arcnode * firstarc; //指向离开本结点的第一条边的边结点。
数据结构考研真题及其答案
一、选择题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(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D.以上几个都是错误的6.下面说法错误的是(C)【南京理工大学2000一、2(1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间( 2)在相同的规模n 下,复杂度O(n) 的算法在时间上总是优于复杂度nO(2 ) 的算法( 3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界( 4)同一个算法,实现语言的级别越高,执行效率就越低4A . (1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为(C)两大类。
【武汉交通科技大学1996一、4(2 分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是(D)【。
北方交通大学2000二、1( 2 分)】A.循环队列 B.链表 C.哈希表 D.栈9.以下数据结构中,哪一个是线性结构(D)?【北方交通大学2001一、 1( 2 分)】A.广义表 B.二叉树 C.稀疏矩阵 D.串10.以下那一个术语与数据的存储结构无关?( A 【)北方交通大学 2001 一、2( 2 分)】A.栈 B.哈希表 C.线索树 D.双向链表11.在下面的程序段中,对x 的赋值语句的频度为(C)【北京工商大学2001 一、 10( 3 分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n)B. O(n)C2Dn .O(n ). O(log 2 )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 为正整数,则最后一行的语句频度在最坏情况下是(D)A. O ( n)B. O(nlogn)C. O(n3)D.O(n 2)【南京理工大学 1998 一、 1(2 分 ) 】13.以下哪个数据结构不是多型数据类型(D)【中山大学1999一、 3(1 分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,( A)是非线性数据结构【中山大学1999一、4】A.树B.字符串C.队D.栈15.下列数据中,( C )是非线性数据结构。
数据结构考研真题及其答案
一、选择题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(1.5 分)】A.算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是( C )【南京理工大学2000 一、2 (1.5 分)】(1 )算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n 下,复杂度O(n) 的算法在时间上总是优于复杂度nO(2 )的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低 4A .(1) B.(1),(2) C. (1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。
【武汉交通科技大学1996 一、4(2 分)】A.动态结构、静态结构 B .顺序结构、链式结构C.线性结构、非线性结构 D .初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )【。
数据结构考研试题精选及答案第10章排序
第10章 排序排序排序一、选择题 1.某内排序方法的稳定性是指.某内排序方法的稳定性是指( )( )( )。
【南京理工大学【南京理工大学 1997 1997 1997 一、一、一、101010((2分)】 A .该排序算法不允许有相同的关键字记录该排序算法不允许有相同的关键字记录 B B B..该排序算法允许有相同的关键字记录记录C .平均时间为0(n log n n log n)的排序方法)的排序方法)的排序方法D D D.以上都不对.以上都不对.以上都不对2.下面给出的四种排序法中下面给出的四种排序法中( )( )( )排序法是不稳定性排序法。
排序法是不稳定性排序法。
【北京航空航天大学北京航空航天大学 1999 1999 1999 一、一、10 10 ((2分)】 A. A. 插入插入插入 B. B. B. 冒泡冒泡冒泡 C. C. C. 二路归并二路归并二路归并 D. D. D. 堆积堆积堆积 3.下列排序算法中,其中(.下列排序算法中,其中( )是稳定的。
)是稳定的。
)是稳定的。
【福州大学【福州大学 1998 1998 1998 一、一、一、3 (23 (2分)】A. A. 堆排序,冒泡排序堆排序,冒泡排序堆排序,冒泡排序B. B. B. 快速排序,堆排序快速排序,堆排序快速排序,堆排序C. C. 直接选择排序,归并排序直接选择排序,归并排序直接选择排序,归并排序D. D. D. 归并排序,冒泡排序归并排序,冒泡排序归并排序,冒泡排序4.稳定的排序方法是(.稳定的排序方法是( )) 【北方交通大学【北方交通大学【北方交通大学 2000 2000 2000 二、二、二、33(2分)】 A .直接插入排序和快速排序.直接插入排序和快速排序 B B B.折半插入排序和起泡排序.折半插入排序和起泡排序.折半插入排序和起泡排序C .简单选择排序和四路归并排序.简单选择排序和四路归并排序D D D.树形选择排序和.树形选择排序和shell 排序排序5.下列排序方法中,哪一个是稳定的排序方法?(.下列排序方法中,哪一个是稳定的排序方法?( ) 【北方交通大学【北方交通大学【北方交通大学 2001 2001 2001 一、一、一、88(2分)】A .直接选择排序.直接选择排序B B B.二分法插入排序.二分法插入排序.二分法插入排序C C C.希尔排序.希尔排序.希尔排序D D D.快速排序.快速排序.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(.若要求尽可能快地对序列进行稳定的排序,则应选(A A .快速排序.快速排序 B B B.归并排序.归并排序.归并排序 C C C.冒.冒泡排序)。
青岛大学10数据结构911计算机专业综合
) 。
读出/写入一个数据,需要访问 2 次内存;同样,在分区存储管理系统中, 也需要访问 2 次内存。 D. 分页存储管理系统中用户程序装入之前的逻辑地址是一维的;分段 存储管理系统中用户程序装入之前的逻辑地址是二维的。 5.有关死锁的叙述正确的是( ) 。 A.死锁的产生与资源分配策略无关,与进程并发执行的速度有关。 B.对资源采用按序分配策略就不会出现循环等待资源的情况了。 C.通过破坏“互斥使用资源”的条件就能防止死锁。 D.资源请求分配图中有环路则可断定有死锁。 6.在动态多分区分配方案中,某一作业完成后,系统收回其主存空间并 与相邻空闲区合并,为此需修改空闲区表 , 造成空闲区数减 1 的情况是 ( ) 。 A. 无上邻空闲区也无下邻空闲区 B. 有上邻空闲区但无下邻空闲区 C. 有下邻空闲区但无上邻空闲区 D. 有上邻空闲区也有下邻空闲区 7.一个分段存储管理系统中,地址字长度为 32 位,其中段号占 8 位, 则 允许的进程的最大长度是( A. 232 字节 C. 216 字节 8.系统采用中断和通道技术,使得( A. CPU 与外设紧密结合 C. CPU 速度提高 9. 磁盘调度算法中, ( A. 先来先服务和电梯调度 C. 电梯调度和单向扫描 10. 对物理结构为( A. 连续存储结构 C. 显式链接存储结构 二.简答题(每小题 5 分,共 25 分)
2
1.对于图 ds-1 所示的有向图,试给出:
图 ds-1 (1) 邻接矩阵; (2) 邻接表; (3) 强连通分量; (4) 从顶点 v1 出发的深度优先遍历序列。 2.已知一个长度为 12 的线性表 List=(7,2,5,8,12,3,10,4,1,6, 9,11) ,试回答下面的问题: (1) 将线性表中的元素依次插入到一个空的平衡二叉排序树中,画出所得 的平衡二叉排序树。假设查找每一个元素的概率相同,查找此平衡二叉排 序树中任一结点的平均查找长度为多少? (2) 若对线性表中的元素排序之后,再用折半查找算法,画出描述折半查 找过程的判定树。假设查找每个元素的概率相同,计算查找成功时的平均 查找长度。 3.某整型数组 A 的 10 个元素值依次为: {6、2、9、7、3、8、4、5、0、 10},用下列各排序方法,将 A 中元素由小到大排序。 (1) 取第一个元素 6 作为枢轴。试写出快速排序第一趟后 A 中的结果。 (2) 用堆排序(大根堆) ,试写出将第一个选出的数据放在 A 的最后位置 上,将 A 调整成堆后的 A 中结果。 4.已知元素数据类型为整数的顺序表 SL=(a1,a2,…,am,bl,b2,…, bn) , 试设计算法将 SL 中元素的两部分互换为 (bl, b2, …, bn , a1, a2, …, am) 。要求:不能使用额外的数组空间。 ( 1)用文字给出你的算法思想; (2)用 C 语言写出算法的实现。
山东大学2003年数据结构专业课考研真题试卷
山东大学2003年数据结构专业课考研真题试卷
一、简答:
1、链表、顺序表的定义、性质、优缺点,及适用对象
2、找关键路径(巨麻烦)
3、顺序把1,2,、、、,2^n-1输入空平衡二叉树中,证明所的
是一棵满/完全二叉数
4、顺序排列的一组数中,用快速排序,证明分界点取在中点时速
度最快(好象这样)(证明:快速排序算法若每次都选较短的先排,则额外空间复杂度可为logn)
5、根据前序、中序,确定一二叉树,并前序、中序、后序线索化
二、算法:
1、判断一棵树是否二叉查找树(同2002年数据结构一个算法题目)
2、判断回文
3、建立三阶堆
4、找二叉树上2个接点的共同祖先
5、矩阵中找鞍点
6、一字符串,判断其是否对称
7、求树的深度。
统考数据结构(2009-2012)试题及精心解析
序号 1 2 3 4 5 6 7 说明 a 入栈 b 入栈 b 出栈 c 入栈 d 入栈 d 出栈 c 出栈 栈内 a ab a ac acd ac a b b b bd bdc 栈外
A-3
序号 8 9 10 11 12 13 14 说明 e 入栈 f 入栈 f 出栈 e 出栈 a 出栈 g 入栈 g 出栈 g 栈内 ae aef ae a 栈外 bdc bdc bdcf bdcfe bdcfea bdcfea bdcfeag
1 / 24
2009 年计算机统考——数据结构部分
一、单项选择题:每小题 2 分。
1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区, 主机将要输出的数据依次写入该缓冲区, 而打印机则依次从该缓冲区中取出数据。 该缓冲区 。 的逻辑结构应该是 A.栈 B.队列 C.树 D.图 2.设栈 S 和队列 Q 的初始状态均为空,元素 a,b,c,d,e,f,g 依 次进入栈 S。若每个元素出栈后立即进入队列 Q,且 7 个元素出队的顺序是 。 b,d,c,f,e,a,g,则栈 S 的容量至少是 A.1 B.2 C.3 D.4 3.给定二叉树如图 A-1 所示。设 N 代表二叉树的根,L 代表根结点的 左子树, R 代表根结点的右子树。 若遍历后的结点序列是 3, 1, 7, 5, 6, 2, 4,则其遍历方式是 。 图 A-1 A.LRN B.NRL C.RLN D.RNL 。 4.下列二叉排序树中,满足平衡二叉树定义的是
2 / 24
10.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的 第二趟排序后的结果,则该排序算法只能是 。 A.冒泡排序 B.插入排序 C.选择排序 D.二路归并排序
山东省考研计算机科学复习资料数据结构常见题型解析
山东省考研计算机科学复习资料数据结构常见题型解析数据结构是计算机科学的重要基础课程之一,也是山东省考研计算机科学专业的必修课程。
在考试中,不同类型的数据结构题目可能会涉及到不同的难度和考察点。
本文将针对山东省考研计算机科学专业的数据结构常见题型进行解析,帮助考生更好地复习和准备考试。
一、线性表题型线性表是数据结构中最基本的数据结构之一,常见的线性表题型包括顺序表、链表和栈、队列等。
下面将分别对这些线性表题型进行解析。
1. 顺序表顺序表是一种采用顺序存储结构存储数据的线性表,常见的题型包括插入、删除、查找等操作。
例如,给定一个顺序表和一个元素,要求将该元素插入到顺序表的指定位置,可以使用数组和指针的方式进行操作。
2. 链表链表是一种采用链式存储结构存储数据的线性表,常见的题型包括插入、删除、查找等操作。
例如,给定一个链表和一个元素,要求将该元素插入到链表的指定位置,可以通过改变节点的指针来实现。
3. 栈和队列栈和队列是两种重要的线性表,常见的题型包括应用和操作等。
例如,要求使用栈实现一个简单的计算器,可以通过将数字和运算符分别入栈,并根据栈中元素的特点进行运算。
二、树题型树是另一种常见的数据结构,常见的树题型包括二叉树、二叉搜索树、堆等。
下面将分别对这些树题型进行解析。
1. 二叉树二叉树是一种特殊的树结构,每个节点最多只有两个子节点。
常见的题型包括遍历、插入、删除等操作。
例如,要求对给定的二叉树进行前序遍历,可以通过递归方式或使用栈实现。
2. 二叉搜索树二叉搜索树是一种特殊的二叉树,左子树的所有节点的值小于根节点的值,右子树的所有节点的值大于根节点的值。
常见的题型包括查找、插入、删除等操作。
例如,要求在给定的二叉搜索树中查找某个元素,可以通过比较节点的值进行搜索。
3. 堆堆是一种特殊的树结构,常见的题型包括堆的建立、插入、删除等操作。
例如,要求将一个无序的序列建立成一个最小堆,可以采用自底向上的方式进行调整。
《数据结构》历年考研真题及解答
《数据结构》考研真题及解答目录2009 年试题 (1)填空题 (1)解答题 (2)2010 年试题 (2)填空题 (2)解答题 (4)2011 年试题 (4)填空题 (4)解答题 (5)2012 年试题 (6)填空题 (6)解答题 (7)2013 年试题 (8)填空题 (8)解答题 (9)2014 年试题 (10)填空题 (10)解答题 (11)2015 年试题 (12)填空题 (12)解答题 (14)2009 年试题填空题1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是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 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系A.只有IIB.I 和IIC.I 和IIID.I、II 和III7.下列关于无向连通图特性的叙述中,正确的是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 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。
数据结构考研真题 数组和广义表
第 5 章数组和广义表一、选择题为第一元素,其存1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11的地址为()。
【燕山大学 2001 一、2 (2储地址为1,每个元素占一个地址空间,则a85分)】A. 13B. 33C. 18D. 402. 有一个二维数组A[1:6,0:7] 每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组的体积是(①)个字节。
假设存储数组元素A[1,0]的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是(②)。
若按行存储,则A[2,4]的第一个字节的地址是(③)。
若按列存储,则A[5,7]的第一个字节的地址是(④)。
就一般情况而言,当(⑤)时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等。
供选择的答案:【上海海运学院 1998 二、2 (5分)】①-④: A.12 B. 66 C. 72 D. 96 E. 114 F. 120G. 156 H. 234 I. 276 J. 282 K. 283 L. 288⑤: A.行与列的上界相同 B. 行与列的下界相同C. 行与列的上、下界都相同D. 行的元素个数与列的元素个数相同3. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。
A. BA+141B. BA+180C. BA+222D. BA+225【南京理工大学 1997 一、8 (2分)】4. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。
【福州大学 1998 一、10 (2分)】A. 808B. 818C. 1010D. 10205. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。
青岛大学-数据结构-2014年-考研真题
科目代码: 910 科目名称: 数据结构 (共 5 页)
请考生写明题号,将答案全部答在答题纸上,答在试卷上无效 一、单项选择题(本大题共 10 道小题,每小题 2 分,共 20 分) 1.数据结构被形式定义为 DS=(D,S),S 是 D 上的( )有限的集合。 A.存储 B.映像 C.数据操作 D.关系 2.下列函数中渐近时间复杂度 T(n)最小的是(
) 。
4.递归过程或者函数调用时,处理参数及返回地址要用一种称为( 的数据结构。 A.线性表 B.栈 C.队列 D.二维数组 5. 设有两个串 S1 和 S2, 求 S2 在 S1 中首次出现的位置的运算称作 ( A.连接 B.求子串 C.求串长 D.模式匹配
)
) 。
6.将一个 int A[5][5]的下三角矩阵,按以行为主序存入一维数组 int B[16] 中,A 中元素 A[2][3]在 B 数组中的位置 k 为( ) 。 A.6 B.11 C.15 D.16 7. 用顺序存储的方法将完全二叉树中所有结点逐层存放在数组 R[1..n]中, 结点 R[i]若有右子树,则右子树是结点( ) 。 A.R[i/2] B.R[2i] C.R[2i+1] D.R[2i-1] 8. 用邻接表存储图进行广度优先遍历时, 通常采用 ( ) 来实现算法的。 A.二叉树 B.二维数组 C.栈 D.队列 9. 已知一个有序表为 {1,4,6,11,13,19,22,27,36,39,44} ,当采用二分 (折半)
A.T(n) = 10000n log2 n 5000n C.T(n) = 200nlog2 n 6000n
) 。
B.T(n) = 5000n2 8000n D.T(n) = 200*2n 3000n
(完整版)青岛大学05数据结构
青岛大学 2005 年硕士研究生入学考试一试题学科代码:407科目名称:数据结构(共4页)请考生写明题号,将答案所有答在答题纸上,答在试卷上无效一.单项选择题(本大题共10 道小路小题,每题 3 分,共 30 分)1. 算法的时间复杂度取决于【】A. 问题的规模B. 待办理数据的初始状态C. 软件和硬件的组合D. 操作系统2. 向一个栈顶指针为top 的链栈中插入一个s 结点,则履行【】A. top->next=s;B. s->next=top->next; top->next=s;C. s->next=top; top=s;D. s->next=top; top=top->next;3. 广义表(( a))的表头是【】A. aB. (a)C. ()D. ((a))4. 由带权为8、 2、 5、 7 的叶子结点结构一棵哈夫曼树,该树的带权路径长度为【】A. 37B. 32C. 46D. 435. 采纳毗邻表储存的图,其BFS 算法近似于二叉树的【】A. 中序遍历B. 先序遍历C. 后序遍历D. 按层遍历6. 在非空 m 阶 B_ 树上,除根结点以外的所有其余非终端结点【】A. 起码有m / 2 棵子树B. 至多有m / 2 棵子树C. 起码有m / 2 棵子树D. 至多有 m / 2 棵子树7. 对线性表进行次序查找时,要求线性表的储存结构为【】A. 散列储存B. 次序储存或许链式储存C. 压缩储存D. 索引储存8. 在重点字“基本有序”的状况下,最正确排序算法为【】A. 迅速排序B. 冒泡排序C. 直接插入排序D. 基数排序9. 折半查找法和二叉排序树的时间性能【】A. 与办理数据量相关B. 同样C. 不同样D. 不确立10. 串是一种特别的线性表,其特别性表此刻【】A. 能够次序储存B. 数据元素是一个字符C. 能够链接储存D. 数据元素能够是多个字符二、填空题(本大题共10 小题,每题 2 分,共 20 分)1. 在拥有 n 个单元的循环行列中,队满时共有____________个元素。
(完整版)青岛大学05数据结构
(2)在等概率的情况下,求查找成功的ASL值。(10分)
4.在采用线性探测再散列法解决冲突的散列表中,所有同义词在表中是否一定相邻?试说明理由。(9分)
5.有关键字{25, 50, 55, 20, 30, 45, 40, 15, 10, 35},判断其是否为堆,若不是堆,请调整为一个小根堆。要求写出调整过程。(9分)
4.由带权为8、2、5、7的叶子结点构造一棵哈夫曼树,该树的带权路径长度为【】
A. 37 B. 32 C. 46 D. 43
5.采用邻接表存储的图,其BFS算法类似于二叉树的【】
A.中序遍历B.先序遍历C.后序遍历D.按层遍历
6.在非空m阶B_树上,除根结点之外的所有其他非终端结点【】
A.至少有 棵子树B.至多有 棵子树
3.消除递归_____________需要使用栈。
4.在具有n(n≥1)个结点的k叉树中,有_____________个空指针。
5.深度为5的二叉树至多有_________个结点。
6.一个连通图的__________是一个极小连通子图。
7.对稀疏图进行DFS遍历时,应该采用___________作为其存储结构。
Push(s, d);
}
while(!StackEmpty(s)){
_______③______;
Enqueue(q, d);
}
}
2.下面的算法是统计单链表中数据域的值为X的结点个数。请在空白处填入正确的语句。
int CountNodeX(struct ListNode *head, Elemtype x)
};
1.下面算法的功能是将队列中的数据元素进行逆置。设栈和队列的元素类型均为int。请在空白处填入正确的语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为T(n)=O(log2n),就时间复杂度而言,哪个更好?
A. 算法 X 好于算法 Y
B. 算法 Y 好于算法 X
【】
C. 不确定
D. 其实两个算法一样
2.由两个栈共享一个向量空间的好处是:
A.减少存取时间,降低上溢发生的机率 B. 节省存储空间,降低上溢发生的机率
C.减少存取时间,降低下溢发生的机率 D. 节省存储空间,降低下溢发生的几率
布丁考研网,在读学长提供高参考价值的复习资料
青岛大学 2003 年硕士研究生入学考试试题
科目代码: 407 科目名称:
数据结构
(共 4 页)
请考生写明题号,将答案全部答在答题纸上,答在试卷上无效
一、单项选择题(本大题共 15 道小题 ,每小题 3 分,共 45 分)
1.若解决某个问题有两个算法X和Y,其中X的时间复杂度为T(n)=O( n ),Y 的时间复杂度
(1) 按表中元素的顺序,构造一棵平衡二叉排序树。 (2) 在等概率的情况下,求查找成功的 ASL 值。 4. 已知一个带权的连通图 G(V, E)的邻接表如下图所示。请回答: (1) 画出该图。 (2) 从顶点 V2 出发,给出 DFS 序列。 (3) 从顶点 V3 出发,给出 BFS 序列。 (4) 画出该图的一棵最小生成树。
27 时,需要比较几次才能查找成功?
【】
A.4
B. 3
C. 10
D. 不确定
8.在含 n 个顶点和 e 条边的无向图的邻接矩阵中,零元素的个数为
【】
A.e
B. 2e
C. n2-e
D. n2-2e
9.为了采用动态查找表进行高效率的查找,数据的组织结构最好采用
【】
A.有序表
B. 线性链表 C. 二叉排序树 D. 分块有序表
2. 在顺序表中,访问任一结点的时间复杂度为__________。 3. 设循环队列的空间大小为 MAX,当 rear<front 时,队列的长度为_________________。 4. 前序序列为 A、B、C,并且后序序列为 C、B、A 的二叉树,共有___________棵。 5. 将一棵树转换为二叉树后,则二叉树的根结点没有_______子树。 6. 用迪杰斯特拉(Dijkstra)算法求某一顶点到其余各顶点的最短路径,是按路径长度_____ 的次序进行求解的。
(2)给出算法。 Void SelectSort(struct ListNode *head) { 3. 证明:对一个长度为n的任意顺序表进行排序,至少需要进行nlog2n次比较。
-
-4- -
-
-3- -
布丁考研网,在读学长提供高参考价值的复习资料
2. 下面的算法是一个双向冒泡排序的算法,即在排序过程中交替改变扫描方向。请在空白处 填入正确的语句。
Void DoubleBubble{int a[], int n}
{
int i=0, j, temp, exchange =1;
【】
A. 冒泡排序 B. 二分法插入排序 C.快速排序
D. 直接插入排序
13. 已知广义表 Glist=((a),(b,c,d),((e))),使用 head 和 tail 函数取出 Glist 中原子 b
的运算应是
【】
A. head(head(Glist))
B. tail(head(Glist))
3.一个广义表的表头
【】
A.不可能是子表 B. 只能是子表 C. 只能是原子 D. 可以是子表或原子
4. 某二叉树的后序遍历序列为 DABEC,中序遍历序列为 DEBAC,则前序序列为 【 】
A. CEDBA
B. DECAB
C. DEABC D. ACBED
5. 在下列的排序方法中,最耗费内存量的是
exchange =_________;
temp = a[j];
___________;
a[j+1]=temp;
}
j++;
}
}
五、算法设计题(本大题共 3 道小题,每道 7 分,共 21 分)
1. 设单链表中存放着若干个字符,试设计算法判断该字符串是否中心对称。例如 ABCBA、ABCCBA 都是中心对称的字符串。 【要求】 必须使用栈结构。 int isSymmetry(struct ListNode *head) { 2. 以单链表为存储结构,试编写一个直接选择排序算法。 【要求】 (1)说明直接选择排序的思想。
-
-2- -
布丁考研网,在读学长提供高参考价值的复习资料
0 V0 1 V1 2 V2 3 V3 4 V4
顶点号 1 11 0 11 0 14 0 17 1 21
边上的权值
指针
2 14
22
12
24
3 10 ^
3 17 ^ 4 21 ^ 34^ 4 10 ^
四、算法阅读题(本大题共 2 道小题,每题 12 分,共 24 分)
三、解答题(本大题共 4 道小题,每小题 10 分,共 40 分)
1. 就顺序队列中的“假溢出”现象,请给出解决它的思想及队空、队满的判断问题。 2. 对给定的关键字集合,以不同的次序插入初始状态为空的树中,是否可以得到同一棵二叉 排序树?试给出一个具体的例子证明你的结论。
3. 已知关键字序列为{Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec}, 试回答:
7. AOV 网的拓扑序列_______唯一的。 8. 在各种查找方法中,平均查找长度与关键字个数 n 无关的查找方法是________。 9. 设一组记录的关键字为{45, 80, 55, 35, 40, 85},则利用快速排序的方法,以第一个关键字 为基准,得到的一次划分结果为______________________。 10. 设一组记录的关键字为{45, 80, 55, 35, 40, 85},则利用堆排序的方法,建立的初始大根 堆为_______________________。
【】
A. 插入排序
B 快速排序 C. 选择排序 D. 归并排序
6. m 阶 B_树中所有的非叶子(除根之外)结点中的关键字个数必须大于或者等于 【 】
A. ⎡m / 2⎤
B. ⎡m / 2⎤ -1 C. ⎣m / 2⎦
D. ⎣m / 2⎦ -1
7.已知一个有序表为{3,5,7,8,11,15,17,22,23,27,29,33},当采用二分查找法查找值为
while(exchange){
exchange=0;
for(j=n-i-1;j>i;j--)
if(a[j]<a[j-1]){
// 由底向上
exch
a[j]=a[j-1];
a[j-1]=temp;
}
for(j=_____; j<______; j++)
if(_______){
【说明】 结构定义 struct ListNode { elemtype data; struct ListNode *next; }; struct BTreeNode { elemtype data; struct BtreeNode *lchild, *rchild; };
1. 下面的是对某个带头结点的单链表的操作,试说明得法的功能。 Void DSNode(ListNode *head) { ListNode *p, *q, *r; p = head->next; while(p){ q = p; r = q->next; do{ while( r && r->data != p->data){ q= r; r= r->next; } if(r){ q->next = r->next; delete r; r = q->next; } } while(r); p = p->next; } }
散列处理冲突,关键字为 49 的存储地址为
【】
0 1 2 3 4 5 6 7 8 9 10 11 12 13
17 33 8 21
A. 3
B. 5
C. 8
D. 9
二、填空题(本大题共 10 小题,每题 2 分,共 20 分)
1. 在循环链表中,可根据任意结点的地址遍历整个链表,而单链链表则知道__________才能 够遍历整个链表。
C. head(head(tail(Glist)))
D. head(tail(Glist))
-
-1- -
布丁考研网,在读学长提供高参考价值的复习资料
14. 用邻接表表示图进行广度优先遍历时,通常采用哪种结构实现算法。
【】
A. 栈
B.队列
C.二叉树
D.图
15. 设哈希表长 m=14,哈希函数 H(K)=K%11。表中已有四个关键字,如果使用二次探测再
10.若一棵二叉树有 21 个结点,且无度为 1 的结点,则叶子结点的个数为
【】
A.9
B. 10
C. 11
D. 12
11. 设计一个好的哈希函数,其函数值应该以什么概率取其值域的每个值。
【】
A.同等概率
B. 随机概率 C. 最大概率 D. 最小概率
12. 下列排序方法中,其比较次数与待排序关键字的初始状态无关的是