关键词不能为空

当前您在: 主页 > 英语 >

线索二叉树课程设计说明书-模板

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-25 09:45
tags:

-

2021年1月25日发(作者:副部级)













数学与计算机学院

课程设计说明书









:


数据结构与算法课程设计









:




























:






线索二叉树的应用




年级
/
专业
/

:




2010
级软件
1















:

































:



1127














:


2011





12




9












:


2011





12




23




课程设计成绩:

1


学习态度及平
技术水平与实际
创新(
5


时成绩(
30


能力(
20



说明书(计算书、图纸、分
析报告)撰写质量(
45






100







指导教师签名:


































首 先是对需求分析的简要阐述,说明系统要完成的任务和相应的分析,并给
出测试数据。其次是概要设计, 说明所有抽象数据类型的定义、主程序的流程以
及各程序模块之间的层次关系,以及
ADT描述。然后是详细设计,描述实现概要
设计中定义的基本功操作和所有数据类型,以及函数的功能及 代码实现。再次是
对系统的调试分析说明,以及遇到的问题和解决问题的方法。然后是用户使用说
明书的阐述,然后是测试的数据和结果的分析,最后是对本次课程设计的结论。

关键词:
线索化;先序遍历;中序遍历;后续遍历


































线索二叉树的运用






数据结构是计算机专业重要的专业基础课程与核心课程之一,
在计算机领域应用广
泛,计算 机离不开数据结构。数据结构课程设计为了能使我们掌握所学习的知识并有应
用到实际的设计中的能力, 对于掌握这门课程的学习方法有极大的意义。本课程设计的
题目为“线索二叉树的应用”
,完成 将二叉树转化成线索二叉树,采用前序、中序或后
序线索二叉树的操作。本课程设计采用的编程环境为< br>Microsoft Visual Stdio 2008







1
需求分析

............. ........................................
3

2
开发及运行平台

......................... ......................
4

3
概要设计

.
............................ ........................
5

4
详细设计

.
............................ ........................
7

5
调试分析

.
............................ .......................
1
2

6
测试结果

.
............................ .......................
1
3

7
结论

.
.............................. .........................
1
8





.
............................... ........................
1
9

参考文献

.
............................ .........................
2
0





.
............................... .......................
2
1


1
、需求分析



为了能更熟练精准的掌握二叉树的各种算 法和操作,同时也为了开拓视野,综合
运用所学的知识。为此,需要将二叉树转化成线索二叉树,采用前 序、中序或后序线索
二叉树,以实现线索树建立、插入、删除、恢复线索等。

1.1
任务与分析

中次系统要实现对二叉树的建立,
以及线索化 该二叉树,
同时实现对其先序、
中序、
后序线索话的并输出结果。

1.2
测试数据


1
:入的二叉树结点序号和数据

结点序号

1
2
3
4
5
6
数据

11
22
33
44
55
66
7
8
9
77
88
99

































线索二叉树的运用

2
开发及运行平台

开发平台:
Microsoft Visual Studio 2008
运行平台:
Windows XP/2003/7
- 3 -

3
概要设计


3.1 ADT
描述


ADT BiTree{

数据对象:
D={
“树节点”
}



数据关系:
R

{H}


D=
∮为 空,则
R=

,Tree
为空树;



D
仅有一个数据元素,则
R=
∮;


否则
R={H}
详细描述如下:

D
中存在唯一的称之为根 的节点
root
,它在关系
H
下无前驱;

1.


D-{root}



















D1


D2......

Dm

m>0

,并对任意
j

k< br>(
1

j

m

1

k< br>≦
m
)有
Dj

Dk=
∮;且对任意
i
1

i

m
)唯一存在数据元素
xi

Di
,有二元关系


H
。这里描述 的是从总节点到各个子树根节点
xi
的边。

2.



D-{root}







H-{




......}
也有唯一的划分
H1

H2......Hm(m>0)

并且对任意的
j

k

1

j

m

1

k

m
)有
Hj

Hk=
∮,对任意的
i

1

i

m


Hi

Di
上的二元关系,则(
Di

{H}
)是一颗树,且是
r oot
的子树。


基本操作:

void creat ();//
创建一个二叉树。

void inorder ();//
中序便利。

void ThTree::threpreorder ();//
先序遍历二叉树。

void ThTree::threinorder ();//
中序遍历二叉树。

void ThTree::threpostorder ();//
后序遍历二叉树。

void ThTree::destroy ();//
删除线索二叉树。

int main();//
主函数。

}


































线索二叉树的运用

3.2
程序模块结构

< br>菜单
新建
中序递归线索

先序递归线
索化
后序递归线
索化





























2
程序模块结构

3.2.1

结构体定义

书的结构体定义如下:

struct ThreNode //
定义结点结构体

{

ElemType data;
ThreNode *lch;

ThreNode *rch;

int ltag,rtag;
};
3.3
各功能模块

新建模块
:

void ThTree::creat ()
新建二叉树并储存。

树类模块
:void ThTree ()
定义书的结点,孩子以及各成员函数。

先序遍历模块
:

void ThTree::threpreorder ()
对树进行先序线索遍历。

中序遍历模块
:

void ThTree::threinorder ()
对树进行中序线索遍历。

后序遍历模块
:

void ThTree::threpostorder()
对树进行后序线索遍历。

删除模块
:

void ThTree::destroy ()
:删除所有节点。

- 5 -

4
详细设计

4.1
结构体定义

树的结构体定义如下:

struct ThreNode //
定义结点结构体

{

ThreType data;
ThreNode *lch;

ThreNode *rch;

int ltag,rtag;
};
4.2
初始化

构造函数初始化变量,定义双亲结点和左右标志域以及根结点:

void ThTree::creat() //
建立二叉树

{















ThreNode *q,*s[20]; ElemType x; int i,j;
cout<<
请按二叉树的层序自上而下自左至右顺序组织数据

cout<<
每次输入结点的序号和数据,假设根结点值是
11


cout<<
那么输入应该是:
1 11
cout<<
cin>>i>>x;
while(i!=0&&x!=0)
{







q=new ThreNode; //
产生一个接点

q->data=x;q->lch=NULL;q->rch=NULL;
q->ltag=0;q->rtag=0; //
左右标志域

s[i]=q;
if(i==1)root=q; //q
为根接点

else{j=i/2;
if((i%2)==0)s[j]->lch=q;else s[j]->rch=q; //j
为双亲结点编号


































线索二叉树的运用





}
cout<<
}
}
4.3
新建操作

void ThTree::creat() //
建立二叉树

{

















ThreNode *q,*s[20]; ElemType x; int i,j;
cout<<
请按二叉树的层序自上而下自左至右顺序组织数据

c out<<
每次输入结点的序号和数据,假设根结点值是
11


co ut<<
那么输入应该是:
1 11
cout<<
cin>>i>>x;
while(i!=0&&x!=0)
{









q=new ThreNode; //
产生一个接点

q->data=x;q->lch=NULL;q->rch=NULL;
q->ltag=0;q->rtag=0; //
左右标志域

s[i]=q;
if(i==1)root=q; //q
为根接点

else{j=i/2;
if((i%2)==0)s[j]->lch=q;else s[j]->rch=q; //j
为双亲结点编号

}
cout<<
}
}
void ThTree::threpreorder(ThreNode *p,ThreNode *pre) //
先根线索化二叉树

{if(p!=NULL)
{cout<data<<
if(p->lch==NULL){p->lch=pre;
- 7 -

p->ltag=1;

}

pre=p;

if(p->ltag==0)threpreorder(p->lch,pre);

threpreorder(p->rch,pre);


4.4
、录入信息

int main ()
{









}
int k;ThTree root0;
do{cout<<
cout<<














1.
建立二叉树

cout<<














2.
中序递归线索二叉树

cout<<














3.
先序线索化二叉树


cout<<














4.
后续线索化二叉树

cout<<














5.
结束程序运行

cout<<














请输入您的选择
:
switch(k)
4.5
先序遍历线索化操作

void ThTree::threpreorder(ThreNode *p,ThreNode *pre)




//
先根线索化二叉树

{if(p!=NULL)
{cout<data<<





if(p->lch==NULL){p->lch=pre;











p->ltag=1;


}








pre=p;


}
}

if(p->ltag==0)threpreorder(p->lch,pre);

threpreorder(p->rch,pre);

-


-


-


-


-


-


-


-



本文更新与2021-01-25 09:45,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/565155.html

线索二叉树课程设计说明书-模板的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文