大数据结构课程设计报告材料之线索二叉树

大数据结构课程设计报告材料之线索二叉树

ID:30760841

大小:218.00 KB

页数:8页

时间:2019-01-03

大数据结构课程设计报告材料之线索二叉树_第1页
大数据结构课程设计报告材料之线索二叉树_第2页
大数据结构课程设计报告材料之线索二叉树_第3页
大数据结构课程设计报告材料之线索二叉树_第4页
大数据结构课程设计报告材料之线索二叉树_第5页
资源描述:

《大数据结构课程设计报告材料之线索二叉树》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案线索二叉树一目的程序从文件中读取每个结点的信息,然后建立一个二叉树。通过菜单的形式,选择不同的线索化方式,然后再对线索化的二叉树经行遍历并输出对应的结果。二需求分析1、文件的读入程序首先要从一个文件中读入结点的信息。故需建立一个文件,在文件中,给出每个结点的信息。2、菜单的实现由于需要建立两种不同的线索二叉树,故需要一个菜单,来选择需要进行的操作,并输出操作的结果。3、树的建立从文件中,读入每个结点的信息。然后建立起树,然后再对已建立的树进行相应的线索化。4、树的线索化根据菜单的选择,对已建立的树经行相对应的线索化

2、。5、输出遍历的结果对每种不同的线索化的的树,给出相对应的算法。然后,根据算法把每种遍历的结果输出。三概要设计1、主程序模块(1)主程序模块intmain(){welcome();//通过welcome()模块来让用户控制,做线索化的工作。return0;}精彩文档实用标准文案(2)可线索化单元模块—实现各种线索化的抽象数据类型;通过welcome()模块来调用每个线索化模块。2、建立二叉树的模块boolCreatBinTree();函数会根据用户输入的文件名,打开一个存储了树中每个结点的文件,且是用广义表的形式给出结点信息的

3、文件。操作结果:根据文件中广义表的形式,建立相对应的二叉树,该树的根节点为root。3、线索化的抽象数据类型voidCreatInThread();voidCreatInThread(Node*current,Node*&front)current是中序遍历下,当前遍历的结点的指针。front是中序遍历下,current结点的前驱的指针。操作结果:对建立的二叉树完成中序线索化。voidCreatPostThread();voidCreatPostThread(Node*current,Node*&front)current是后

4、续遍历下,当前遍历的结点的指针。front是后续遍历下,current结点的前驱的指针。操作结果:对已建立的二叉树完成后续线索化。4、输出结果的抽象数据类型voidInOrder()操作结果:输出中序线索二叉树的中序遍历的结果。Node*InFirst(Node*current)current是中序线索二叉树中指向一个结点的指针。操作结果:返回以current为根的树的中序遍历下的第一个结点的指针。Node*InNext(Node*current)current是中序线索二叉树中指向一个结点的指针。操作结果:返回中序遍历下,c

5、urrent结点的后继结点的指针。voidPostOrder()操作结果:输出后续线索二叉树的后续遍历结果。精彩文档实用标准文案Node*PostFirst(Node*current)current是后续线索二叉树中指向一个结点的指针。操作结果:返回以current为根的树的后续遍历下的第一个结点的指针。Node*PostNext(Node*current)current是后续线索二叉树中指向一个结点的指针。操作结果:返回后续遍历下,current结点的后继结点的指针。四详细设计二叉树中,每个结点的定义structNode{c

6、harch;//每个结点的信息域intltag;//左孩子指针标志域intrtag;//右孩子指针标志域Node*left;//左孩子Node*right;//右孩子Node*parent;//双亲结点};线索二叉树的抽象数据类型classThreadTree//线索二叉树的抽象数据类型{public:ThreadTree();//构造函数boolCreatBinTree();//从文件中读取数据并建立二叉树voidCreatInThread();//对二叉树进行中序线索化voidCreatInThread(Node*curr

7、ent,Node*&front);Node*InFirst(Node*current);//寻找中序下的第一个结点Node*InNext(Node*current);//寻找中序下当前结点的后继结点voidInOrder();//对中序线索二叉树进行遍历voidCreatPostThread();//对二叉树进行后序线索化voidCreatPostThread(Node*current,Node*&front);Node*PostFirst(Node*current);//需找后序下的第一个结点Node*PostNext(No

8、de*current);//寻找后序下当前结点的后继结点voidPostOrder();//对后序线索二叉树进行遍历voidDeleteInTree();//析构中序线索二叉树voidDeletePostTree();//析构后续线索二叉树精彩文档实用标准文案private:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。