1 / 6
文档名称:

数据结构].doc

格式:doc   大小:176KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构].doc

上传人:260933426 2017/8/31 文件大小:176 KB

下载得到文件列表

数据结构].doc

文档介绍

文档介绍:数据结构
一、编程题(请在以下题目中任选2题作答,每题30分,共60分)
程序编写题
对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。
求数组所有边缘元素的数值和。
int sum1(int A[M][N],int m ,int n)
{
[0][0]开始的互不相邻的所有元素的和
注:一个元素的八个方向上的第一个元素均为相邻元素。
int sum2 (int A[M][N] , int m , int n)
{
3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。
int sum3(int A[M][N] , int n)
{
程序编写题
已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。
程序编写题
设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。
程序编写题
用标准C语言实现Hanoi塔问题
程序编写题
(大写字母、数字和其它字符),要求利用原单链表
中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。
2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。 
程序编写题
(K1,K2,„,Kn),要求设计一个算法能够在O(n)的时间
复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。 
2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链
式存储结构表示。
程序编写题
设计在单链表中删除值相同的多余结点的算法。 
设计一个求结点x在二叉树中的双亲结点算法。 
解答题(请在以下题目中任选1题作答,共20分)
解答题
设待排序记录的关键字序列为{46, 55, 13, 42, 94, 05, 17, 70}写出其第一趟快速排序过程。(要求写出每次交换后的序列,并且枢轴记录到位也算一次交换)
初始关键字: 46 55 13 42 94 05 17 70
1次交换后:
2次交换后:
3次交换后:
4次交换后:
5次交换后:
解答题
对下面的带权无向图采用prim算法从顶点①开始构造最小生成树。(写出加入生成树顶点集合S和选择Edge的顺序)


9 10
② 7 ③
5 6 7
④⑤⑥
11 8
S:
顶点号
 
 
 
 
 
 
 
Edge:
 
(顶点,顶点,权值)

(,,)

(,,)

(,,)

(,,)

(,,)
解答题
若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。
(1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树。
(2)已知一棵二叉树的在序序列和后序序列分别为BDCEAFHG和DECBHGFA,请画出此二叉