东南大学数据结构 93.docx
《东南大学数据结构 93.docx》由会员分享,可在线阅读,更多相关《东南大学数据结构 93.docx(10页珍藏版)》请在冰豆网上搜索。
东南大学数据结构93
东南大学93考研题
注意事项:
(1) 答卷上需写清题号,不必抄题
(2) 描述可用你熟悉的一种类高级语言,如类Pascal,所用主要数据结构及变量的意义须加以注释。
必要时算法中应加注释。
一、回答下列问题:
(共35分)
l与链式结构相比,线性表的顺序存贮的一个主要优点和一个主要缺点分别是什么?
(4分)
2在表达式中,有的运算符要求从右到左计算,如A**B**C的计算次序应为(A**(B**C)),这在由中缀生成后缀的算法中是怎样实现的?
(以**为例说明) (6分)
3.给出KMP算法中失败函数f的定义,并说明利用f进行串模式匹配的规则,该算法的技术特点是什么?
(9分)
4二叉树的中序与后序序列能唯一地定义一棵二叉树吗?
这里所指序列中的符号代素树结点中的标识符吗?
二叉村的前序与后序序列能唯一地定义一棵二叉树吗?
为什么?
(8分)
5在什么情况下m阶B树(m>>2)比AVL树有效?
分析其原因·(8分)
二。
将n个队列顺序映射到数组v[l···m]中,每一队列在v中表示为一,循环队列。
试画出其示意图并写出对应这种表示的addq和deleteq过程。
(20分)
三、给出中序线索树的结点结构并画出一个具有头结点的中序线索树,使其树结点至少应有6个,写一算法在不使用栈和递归的情况下前序遍历一中序线索树,并分析其时间复杂度,(20分)
四、证明:
具有n个点和多于n-1条边的无向连通图G一定不是树(10分)
五、若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分)
东南大学94考研题
试题名称:
数据结构
一. 回答下列问题:
(共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的临接多表,并说明,若已知点I,如何根据临接多表找到与I相临的点j?
(8分)
3.欲求前k个最大元素,用什末分类方法好?
为什末?
什末是稳定分类?
分别指出下列算法是否稳定算法,或易于改成稳定分类算法?
(8分)
(a)插入分类 (b)快速分类 (c)合并分类 (d)堆分类 (e)基数分类
4.构造最佳二叉树检琐树的前提条件是什末?
在动态情况下,一般AVL树的查询性能不如完全二叉检索树的,为什末人们却采用AVL树呢?
(8分)
二. 下列算法对一n位二进制数加I,假如无溢出,该算法的最坏时间复杂性是什末?
并分析它的平均时间复杂性。
(15分)
type num=array[1。
。
n]of[0。
。
1];
procedure lnc(varA:
Num);
var i:
integer;
begin i:
=n;
while a=Ido
a:
=0; i:
=i-1;
end;
a:
=i;
end lnc;
三.给定nxm矩阵A[a。
。
b,c。
。
d],并设A[i,j]〈=A[i,j+1](a〈=i〈=b,c〈=j〈=d-1〉
知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的公共子序列,且长度最大,例如,adcbb和adbcb
是x=abdcbcbb和y=adacbcb的最长公共子序列,设x长度为n,y长度为m,设计一算法计算x和y的最长公共子序列的长度,尽可能改进你的算法,使它的时间复杂性为o(n、m)。
(18分)
五、字符序列的子序列有删除该序列任意位置的任何个元素而得序列x和y得最长公共子序列,记为lcs(x,y),是x和y的公共子序列,且长度最大。
例如,adcbb和adbcb是x=abdcbcdd和y=adacbcb的最长公共子序列,设x长度为n,y长度为m,设计一算法计算x和y得最长公共子序列,尽可能改进你的算法,是它的时间复杂性为O(n•m)。
(18分)
东南大学95考研题
试题名称:
数据结构
1. 在磁带文件上进行二分文件查找行吗?
为什么?
(6分)
2. 分析确定下列程序段中带底画线语句执行次数与n所成数量基关系(即表示为o(f(n))。
K:
=1;I:
=K;
While I〈n DO
BeginK:
=K+1;I:
=I+K END;
3. 外排序中为何采用k----路(k)2)合并而不用2-----路合并?
这种技术用与内排序有用吗?
为什么?
(8分)
4. 索引顺序存取方法(ISAM)中,主文件已按关键字排序,为何还需要主关键字索引?
5. 满二叉检索树符合B树定义吗?
B树的插入和删除算法适用于满二叉检索树吗?
为何?
6. 设无向图G有n个点e条边,写一算法建立G的邻接多表,要求该算法时间复杂性为o(n+e),且除邻接多表本身所占空间之外只用o(i)辅助空间。
(16分)
7. 写一改进的递归快速排序办法,要求对于n个记录该算法的递归深度《=1+log2n,并说明你的算法满足这一要求。
(17分)
8. 定义前序排列为1,2,、、、,n的全部二叉树的中序排列集合为IP;再定义将1,2,、、n从右到左经过一个栈可得到全部排列集合SP。
例如,当n=3,SP={123,132,213,231,321}问IP是集合SP的真子集成立否?
证明你的结论。
9. 设记录R的关键字为R。
KEY(1《=i〈=K-1〉指向败者记录,T[O]为全胜记录下标。
写一算法产生对应上述R(1〈=i〈=k〉的败者树,要求除R[1、、k]和T[0、、k-1]以外,只用O
(1)辅助空间。
(15分)
东南大学96考研题
试题名称:
数据结构
一. 回答下列问题:
1. 线性表(a1,a2,、、、、、、,an)用顺序映射表示时,ai和ai+1(1〈=i〈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算法中缩用失败函数f的定义中,为何要求p1p2、、、、pf(i)为p1p2、、、、pj两头匹配的真子串?
且为最大真子串?
4. 在union-find问题中,控制union操作的权重规则是何含义,有何效果?
控制 find操作的倒塌规则是何含义?
有何效果?
5. 堆排序是稳定排序吗?
举例说明(6分)
6. 给定输入文件:
101,48,19,65,3,74,33,17,21,20,99,53,21,并设记录缓冲区个数k=4,写出基于败者树的外排序顺串生成算法runs输出的顺串。
(6分)
7. m阶B树中,m的大小的确定于何因素有关?
(8分)
data Link
二.设结点结构为上图:
试用一个全局指针p和某种超级链接结构实现一个队列,画出示意图,并给出入队和出队过程,要求他们的时间复杂性是O(l)(10分)
设有向G图有n个点(用1,2,……表示),e条边,写一算法根据其邻接表生成其反向邻接表,要其算法复杂性为O(n+e).(13分)
四.设二叉树结点结构为:
left Data bf Right
定义二叉树结点T的平衡因子bf(T)=hl-hr,写一递归算法确定二叉树中各结点的平衡因子bf,同时返回二叉树中非叶结点个数.(15分)
五.设符号表中的标示符满足:
1<=x<=m,且n为对T表的最大插入次数.设计符号表T的表示结构,允许使用O(m+n)空间,并写出其初始化,查找插入和删除算法,要求他们的时间复杂性都是O(l).(16分)
东南大学一九九七年攻读硕士学位研究生入学考试试题
数据结构
一简要回答下列问题:
(共32分)
⒈在表达式中,有的运算符要求从左到右计算,如A**B**C的计算次序应为(A**(B**C)),
这在由中缀生成后缀的算法中是怎样实现的?
(8分)
⒉给出KMP算法中失败函数f的定义,并说明利用函数f进行串模式匹配的规则,该算法
的技术特点是什么?
(8分)
⒊Fibouacci查找算法(fibsrch)中为什么要求m (8分)
⒋为什么在倒排文件(invertedfiles)组织中,实际记录中的关键字域(keyfields)可删
除以节约空间?
而在多表(multilists)结构中这样做为什么要牺牲性能?
(8分)
二试写一个算法,建立无向图G的邻接多表(adjacencybmultilists),要求说明算法
中主要数据结构和变量的意义。
(15分)
三给出中序线索数的结点结构并画出一个具有头结点的中序线索数,使其数结点至少应
有6个。
写一算法在不使用栈和递归的情况下前序遍历一中序线索树,并分析其时间复
杂性。
(18分)
四若S是n个元素的集合,则S的幂集P(s)定义为S所有子集的集合。
例如,S=(a,b,c),
P(s)={(),(a),(b),(c),(a,b),(b,c),(a,b,c)},给定S,写一递归算法求P(s). (15分)
五已知在llink-rlink存储法表示的二叉数中,指针t指向该二叉树的根结点,指针p,q分别指向树中的二个结点。
试写一算法,就距离这两个结点最近的公共的祖先结点。
(20分)
东南大学98考研题
一。
简要回答下列问题。
1。
设胜者树由k各记录缓冲区和k-1个非叶结点构成,概念上非叶结点表示两个子女中观键字较小者,而实际上非叶结点存放的是什末?
2。
索引顺序存储方法中,主文件已按关键字排序,为何还需要主关键字索引?
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,试画出该树。
4。
构造最佳二叉检索树的条件是何?
再动态情况下,一般 AVL树的查询性能不如完全二叉检索树的,为何人却采用AVL树呢?
5.将两个栈存入数组V[1。
。
。
m]应如何安排最好?
这时栈空栈满的条件是何?
6。
已知无向图G,V(G)={1,2,3,4},E(G)={(1,2),(1,3)(2,3),(2,4),(3,4)}试画出G的邻接多表,并说明,若已知点i,与和根据邻接多表找到与i相临的点j?
二。
写出用堆排序算法对文件F=(12,3,15,30,9,28)进行排序是,初始堆及以后每挑好一个元素重新调整后堆的状态,并指出这里的堆和败者树的一个重要区别。
三。
设组A存放一位二进制数,试说明下列算法X的功能,假设无溢出,算法