武汉正商书院怎么样:急问程序设计问题

来源:百度文库 编辑:高校问答 时间:2024/03/29 16:21:57
1.输入一个正整数序列{68,60,100,50,55,70,65,90,80,91,48,58,120,5
9,300},建立一棵二叉排序树,

要求:(1)画出该二叉排序树

(2)画出删除结点60后的二叉排序树。

2. 请设计算法计算一棵给定二叉树上所有结点数目。假设二叉树的存储结构描述如下:

typedef struct BiTNcde{

TElemType data;

struct BiTNode *lchild;*rchild; /*左右孩子指针*/

}BiTNode,*BiTree;

3.写出先序遍历二叉树的非递归算法。假设二叉树的存储结构描述如下:

typedef struct BiTNcde{

TElemType data;

struct BiTNode *lchild;*rchild; /*左右孩子指针*/

}BiTNode,*BiTree;

假如相关的操作如下:

Initstack(&s) 栈初始化

Push(&s,p) 元素p进栈

Pop(&s,&e) 元素e出栈

GetTop(s,&e) 取栈顶元素e

4.试修改普里姆算法,使之能在邻接表存储结构上实现求图的最小生成森林,并分析其
时间复杂度(森林的存储结构为孩子-兄弟链表)。

5.请设计一个按层次顺序遍历二叉树的算法。二叉树的存储结构描述如下:

typedef struct BiTNcde{

TElemType data;

struct BiTNode *lchild;*rchild; /*左右孩子指针*/

}BiTNode,*BiTree;

假如相关的操作定义如下:

InitQueue(&Q) 队列初始化

EnQueue(&Q,p) 元素p进队

DeQueue(&Q,&p) 元素P出队

EmptyQueue(Q) 判队列空

6.给出一组记录的排列序码为Key=(20,15,4,18,9,6,25,12,3,22),

①用快递排序算法从小到大排列,请写出第一趟结束时的序列(选第一个记录为枢轴)


②该序列是否为堆?如果不是,请把他调整为小堆。

7。有关键字集合:(87,25,310,08,27,132,68,95,187,123,70,63,47)。
共有13个元素,已知哈希函数:H(key)=key%13,采用链地址方法解决冲突。设计出这种
链表结构,并计算该表的成功查找的平均查找长度。