当前位置:首页 > 数据结构精选考研试题
[注]:编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释 一、 回答下列问题:[20分] 1、 算法的定义和性质
2、 为什么说数组与广义表是线性表的推广? 3、 什么是结构化程序设计?
4、 哈希方法的基本思想
5、 给出一不稳定排序方法名称与实例
二、 构造结果:[24分]
(1) 确定x:=x+1语句在下面程序段中的频率,要求写出分析过程。 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
六、 给出有向图G的邻接表表示。找出其一棵最小生成树。[11分]
[注]:编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释 一、 回答下列问题:[20分] 1、 算法的定义和性质
2、 为什么说数组与广义表是线性表的推广? 3、 什么是结构化程序设计?
4、 哈希方法的基本思想
5、 给出一不稳定排序方法名称与实例
二、 构造结果:[24分]
(1) 确定x:=x+1语句在下面程序段中的频率,要求写出分析过程。 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
六、 给出有向图G的邻接表表示。找出其一棵最小生成树。[11分]
共分享92篇相关文档