当前位置:问答库>考研试题

2018年桂林电子科技大学计算机科学与工程学院408计算机学科专业基础综合之数据结构考研基础五套测试题

  摘要

一、算法设计题

1. 辅助地址表的排序是不改变结点物理位置的排序。辅助地址表实际上是一组指针,用它来指出结点排序后的逻辑顺序地址。设

表示辅助地址表。初始时

减序) 算法的语句序列。

【答案】算法如下:

一趟排序无交换发生,结束

表示n 个结点的值,用

,在排序中,凡需对结点交换就用它的地址

来进行。例如当n=3时,对K(31,11,19) 则有T(2,3,1) 。试编写实现辅助地址表排序(按非递

2. 写出按后序序列遍历中序线索树的算法。

【答案】算法如下:

求结点t 最左子孙的左线索

沿左分支向下

求结点t 最右子孙的右线索

沿右分支向下

第 2 页,共 34 页

若t 是的右孩子,返回1, 否则返回

后序遍历中序线索二叉树

bt

沿左分支向下

左孩子为线索,右孩子为链,相当从左返回

P 为叶子, 相当从右返回

访问结点

修改P 指向双亲

是左子女,用最右子孙的右线索找双亲

.

转向当前结点右分支

结束

中关键字分二路分别按序插入到辅助向量

3. 二路插入排序是将待排关键字序列二路插入。编写实现2-路插入排序算法。

【答案】算法如下:

二路插入排序的算法

辅助存储

插人后部

折半査找插入位置

移动元素

插入有序位置

插入前部

移动元素

第 3 页,共 34 页

前半部和后半部(注.. 向量d 可视为循环表) ,其原则为,先将r[1]赋给d[1],再从r[2]记录开始分

将序列复制回去

4. 设整数序列ai ,a2,a3,…,an ,给出求解最大值的递归程序。

【答案】算法如下:

//设整数序列存于数组a 中,共有n 个,本算法求解其最大值

5. 元素集合已存入整型数组树T 的非递归算法:CSBT(r,A)

【答案】算法如下:

以存储在数组K 中的n 个关键字,建立一棵初始为空的二叉排序

在调用时,

T=null

f 是P 的双亲

申请结点空间

根结点

左子女

右子树根结点的值大于等于根

结点的值

算法结束

中,试写出依次取A 中各值

构造一棵二叉排序

二、应用题

6. 试叙述动态存储分配伙伴系统的基本思想,它和边界标识法不同点是什么?

【答案】(1)动态存储分配伙伴系统的基本思想

在伙伴系统中,无论占用块或空闲块,其大小均为(k为大于等于0的正整数) 。若内存容量为

,则空闲块大小只能是

。由同一大块分裂而得的两个小块互称“伙伴空间”,

109

如内存大小为2的块分裂成两个大小为2的块。只有两个“伙伴空间”才能合并成一个大空间。

第 4 页,共 34 页