数据结构考研试题doc.docx
- 文档编号:3069746
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:29
- 大小:32.84KB
数据结构考研试题doc.docx
《数据结构考研试题doc.docx》由会员分享,可在线阅读,更多相关《数据结构考研试题doc.docx(29页珍藏版)》请在冰豆网上搜索。
数据结构考研试题doc
[注]:
编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释一、回答下列问题:
[20分]
1、算法的定义和性质
2、为什么说数组与广义表是线性表的推广?
3、什么是结构化程序设计?
4、哈希方法的基本思想
5、给出一不稳定排序方法名称与实例
二、构造结果:
[24分]
(1)确定x:
=x+1语句在下面程序段中的频率,要求写出分析过程。
fori:
=1tondo
forj:
=1toIdo
fork:
=1tojdox:
=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,JulAug,Sep,Oct,Nov,Dec),H(x)=[i/2],其中i为关键字中第一
字母在字母表中的序号。
要求用线性探测开放定址法处理冲突,并求出在等概率情况下查找
成功的平均查找长度。
(6)构造有7个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。
三、写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。
[15
分]
四、编写一非递归算法,对一棵二叉排序树实现中序遍历。
五、编写程序,完成下列功能:
[15分]
[15
分]
1.读入整数序列,以整数0作为序列的结束标志(0不作为序列元素),建立一个单链表。
2.实现单链表原地逆转,即单链表中结点指针方向反转,反转操作不使用额外的链表结点,
可使用临时工作单元。
例:
输入序列为:
1,8,4,3,0
六、给出有向图G的邻接表表示。
找出其一棵最小生成树。
[11分]
[注]:
编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释一、回答下列问题:
[20分]
1、算法的定义和性质
2、为什么说数组与广义表是线性表的推广?
3、什么是结构化程序设计?
4、哈希方法的基本思想
5、给出一不稳定排序方法名称与实例
二、构造结果:
[24分]
(1)确定x:
=x+1语句在下面程序段中的频率,要求写出分析过程。
fori:
=1tondo
forj:
=1toIdo
fork:
=1tojdox:
=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,JulAug,Sep,Oct,Nov,Dec),H(x)=[i/2],其中i为关键字中第一
字母在字母表中的序号。
要求用线性探测开放定址法处理冲突,并求出在等概率情况下查找
成功的平均查找长度。
(6)构造有7个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。
三、写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。
[15
分]
四、编写一非递归算法,对一棵二叉排序树实现中序遍历。
五、编写程序,完成下列功能:
[15分]
[15
分]
1.读入整数序列,以整数0作为序列的结束标志(0不作为序列元素),建立一个单链表。
2.实现单链表原地逆转,即单链表中结点指针方向反转,反转操作不使用额外的链表结点,
可使用临时工作单元。
例:
输入序列为:
1,8,4,3,0
六、给出有向图G的邻接表表示。
找出其一棵最小生成树。
[11分]
[注]编写程序可选用PASCAL或C语言
算法描述采用类语言,应加上必要的注释
所有答案均要求写在答题纸上
一、回答问题[15分]
1.结构化程序设计
2.面向对象开发方法与面向过程开发方法的不同之处
3.数据类型含义与作用
4.稳定排序与不稳定排序
二、简述方法与原因[20分]
1.分别采用堆排序、快速排序、直接插入排序、归并排序算法对初始状态为递增序列的表按递增顺序排序,给出最省时间与最费时间的算法名称,简述原因。
2.实现有向图的拓扑排序能否用图的深度搜索模式来查找?
若能请简述方法,若不能,请简述原因。
3.有n个非零的数,仅要求将负数排列在正数的前面,但并不要求对其排序,简述处理方法。
4.说明在图的遍历中,设置访问标志数组的作用。
5.在一个连通无向图上,欲求从一点VI到另一点VJ(VI≠VJ)所经结点数目最少的路径,在深度优先搜索、广度优先搜索、从一点到其余各顶点的最短路径或图的其它算法中,你认为最好选择那种方法为基础,简述原因。
三、构造结果[25分]
1.二叉树按二叉链表方式存放,其中的data域为char类型,已
有按前序方式构造二叉树的算法,若输入序列为AB□CD□□ED□G□□□,请给
出构造的相应二叉树。
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,说明下面程序段定义了什么函数功能,要求重写程序段,
使之完成原函数功能,且执行时间仅可能短。
Unsignedintf(a,b)inta,b;
{if(a*b==0)
return(a+b)
elsereturn(f(b-(b/a)*a,a);(注:
b/a相当整除)
}
4.写出在中序线索树BT中找结点X的后继结点的函数过程。
5.对以下关键字序列建立哈希表(jan,feb,mar,apr,may,jun,jul),哈希函数为
H(K)=关键字中第一个字母在字母表中的序号)MOD7,用线性探测再散列法或
链地址法之一处理冲突,要求构造一个装填因子为0.7的哈希表,并求出等概率
情况下查找成功与不成功的平均查找长度。
四、有二叉排序树采用二叉链表方式存放,树中结点值各不相同,欲
得到一个由大到小的结点值递减序列,简述处理方法思路,用非递归
形式写出算法。
[10分]
1.一棵树采用孩子-兄弟方式存放,结点结构为
fcdansle
htaibve
l
其中fch表示指向第一个孩子,nisib表示指向下一个兄弟,level表示结点层次。
设根结点层次为1,其它以此类推,编写一算法,将树中所有结点层
次值置入相应level域。
[10分]
六、以顺序存储结构表示串,设计算法,求串S中出现的第一个最长重
复子串及其位置并分析算法的时间复杂度.[10分]
七、编写程序,要求完成:
建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每
个结点的data域存放一个二进制位。
在此链表上实现对二进制数加1的运算,并输出运算结果。
[10分]
[注]:
编写程序可用PASCAL或C语言;算法描述可采用类语言,加上必要注释;一、解释和简答下列问题:
(20分)
1)算法的定义和特性
2)抽象数据类型
3)广义表与字符串属于线性表的理由
4)封装
5)排序算法的稳定性
6)结构化程序设计
二、写出要求结果:
(30分)
1.已知一二叉树中序序列为DBGEAFC,后序序列为DGEBFCA,给出其对应的二叉树。
2.给定权值{8,12,4,5,26,16,9},构造一棵带权路径长度最短的二叉树,并计
算其带权路径长度。
1.有一线性表,要求重新排列,使所有的正数均在非正数之前,要求用最小交换次数
实现,你认为应采用什么方法?
4.只想得到N个元素序列中第K个最大元素之前的部分递减有序序列(K< 5.在地址空间为0~12的散列区中,对以下关键字序列建哈希表: (Jan,Feb,Apr,May,Jun,Jul,Aug,Sep,Oct)。 用线性探测法处理冲突,求出在等概率的情况下查找成功与不成功的平均查找长度。 6.下面给出求N价hanoi塔的过程: PROCEDUREhanoi(n: integer;x,y,z: char); begin ifn=1thenmove(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 dada prior 五、有一个由英文书目构成的文件(书名不定长度,以“;”为分割符);读入该文件,对 这一书目单按字典排序,将结果以文件方式存储。 编程实现之。 (10分) 六、二叉树按链表方式存放,且树中结点的关键字均不同。 写一个判别给定二叉树是否为二叉排序树的非递归算法。 (10分) 写一个算法,确定一个N个顶点的无向图是否包含回路, 此算法的时间代价应为 O(N)(10 分) [注]: 编写程序可选用盘Pascal或C语言,算法描述可选用类语言,必要时加上注释 一、简答下列问题: 1.结构化程序设计 2.参数传递的常用方式及含义 3.数据类型 4.几种基本数据结构的名称及特征 5.算法定义与性质 6. 二、写出要求结果 1.PROGRAMPF(OUTPUT); VERT,M: INTEGER; FUNCTIONF(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 考研 试题 doc