1 / 34
文档名称:

数据结构课程设计-关于最短路径问题+二叉树排序问题.doc

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

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

分享

预览

数据结构课程设计-关于最短路径问题+二叉树排序问题.doc

上传人:3346389411 2013/3/26 文件大小:0 KB

下载得到文件列表

数据结构课程设计-关于最短路径问题+二叉树排序问题.doc

文档介绍

文档介绍:课程设计综合成绩评定
设计题目一: 二叉排序树
设计题目二: 最短路径问题
设计题目三:
考核项目
分值
A
C
得分
设计情况(共70分)
设计工作量与难度
20
设计工作量大与设计有一定难度
设计工作量与难度一般,基本达到了要求
设计
方案
15
设计方案正确、合理
设计方案较正确、基本合理,但不是最优
设计完成情况
35
完成了选题的设计内容,设计功能完整,相关算法设计正确,程序结果正确、直观性好
基本完成了选题的设计内容及主要选题功能,相关算法设计基本正确,程序结果正确
设计报告(共15分)
报告组织结构及内容
10
内容组织及结构合理、内容充实、层次清晰、图表得当
内容组织及结构较合理、内容较充实、层次较清晰、图表应用基本得当
报告排版格式
5
格式规范,完全符合要求
格式基本规范,基本符合要求
设计态度
(共15分)
15
设计态度认真、积极
设计态度比较认真
综合得分
课程设计综合成绩(折合为优、良、中、及格与不及格计)
其它说明:
目录
1
问题描述 1
设计方案与概要设计 2
详细设计 4
程序运行说明与结果 11
13
问题描述 13
设计方案与概要设计 16
详细设计 17
程序运行说明与结果 27
32
1. 二叉排序树
问题描述
知二叉排序树的二叉链表存储结构的类型定义如下:
typedef struct node{
int data; //用整数表示一个结点的名
struct node *LChild,*RChild; //左右指针域
}BSTNode,*BSTree;
(1)键盘输入一个元素序列创建一棵如图(1)的二叉排序树,并输出该二叉排序树的中序遍历序列;
45
55
60
53
40
23
70
37
12
24

图(1)
(2)在图(1)中所得的二叉排序树中插入一个值为58的结点,输
出它的中序遍历序列;
(3)在题(2)中所得的二叉排序树中删除值为45的结点,输出它的中序遍历序列;
(4)我们知道教材中P220给出的二叉排序树的删除操作算法中,是用左子树中最右下结点来替代要被删除的结点(即为要被删除结点的中序前驱),也可以用右子树中最左下结点来替代要被删除的结点(即为要被删除结点的中序后继),根据此思路修改P220算法在写一个删除操作,并利用修改后的删除算法删除
图(1)中二叉排序树的值为45的结点,输出它的中序遍历序列;
(5)利用题(2)中所得的二叉排序树的所有叶子结点构造一个带头结点的单链表L。要求不能破坏这棵二叉排序树。所得的单链表L元素递增,并输出单链表L。
(6)设计算法将图(1)的二叉排序树的左右子树进行交换。最后输出所得到的二叉树的中序遍历序列。
45
55
60
53
40
23
70
37
12
24
所得二叉排序树如图所示:
图(2)
(7)用计算法统计并输出图(1)中所得的二叉排序树中只有一个孩子结点的结点个数。
(8)由图(1)的二叉排序树,用计算法并编写程序输出结点40的所有祖先结点。
设计方案与概要设计
二叉排序树应用的存储结构
typedef struct node{ // 二叉排序树的存储结构
int data;
struct node *LChild,*RChild;
}BSTNode,*BSTree;
typedef struct LNode{ //单链表的存储结构
int data;
struct LNode *next;
}LNode,*LinkList;
二叉排序树的设计用到了单链表L。
单链表L主要用于题(5)的设计,用来存储图(1)的二叉排序树中所有叶子结点,并将其输出。

本方案设计主要应用二叉树的性质。创建空二叉排序树T,再输入图(1)中的元素后向T插入所有元素,在插入时比根结点小的放在树的左子树,比根结点大则放在树的右子树,同时树的左右子树也要遵循这个规律。
在删除操作中当只有一个结点时可直接删除,否则用左子树中最右下结点来替代要被删除的结点进行删除操作,亦可用右子树中最左下结点来替代要被删除的结点进行删除操作,可视为同种删除方法。
寻找叶子节点时主要采用递归方法,从根结点开始遍历当发现结点无左右孩子时则得到当前的结点元素并用尾插法将其放入单链表中直至遍历完毕,最后输出单链表L。
在二叉排序树进行左右子树交换时新创建树R避免对树T的干扰,