视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据结构课程设计二叉树的遍历报告
2025-09-29 05:11:38 责编:小OO
文档
数据结构课程设计报告

姓    名         

班    级         

学    号         

指导老师           

一、课程设计目的

培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

二、课程设计要求

1)学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课程设计的要求。有问题及时主动通过各种方式与教师联系沟通。

2)学生要发挥自主学习能力,充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。

3)课程设计按照教学计划需要一周时间完成,一周中每天至少要上两小时的上机来调试C或C++语言设计的程序,总共至少要上机调试程序10小时。属教师安排上机时间学生不得缺席。

三、课程设计内容

二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。

四、课程设计原理

1.设计思想

以广义表格式输入一个二叉树,将其接收至一维数组中,利用栈结构建立二叉链表树;通过先、中、后访问根结点递归算法遍历二叉树;利用栈结构依次将结点入栈、出栈实现二叉树的非递归遍历算法;利用队列的入队、出队操作实现二叉树的层次遍历。

例如:a(c(,d),f(g,))建立如下图所示二叉树。

2.数据结构

typedef BTREENODEPTR elemtype;

1)队列数据类型定义

  elemtype *elem;

  int front,rear;

  int size;

}SqQueue;

2)栈数据类型定义

typedef struct stack_tag{

}SQSTACK;   

3)二叉树数据类型定义

typedef struct btreenode{

  char data;

  struct btreenode *lchild,*rchild;

}BTREENODE,*BTREENODEPTR,*BTREE;

3.主要模块设计

BTREE CreateBtree1(char *str);//创建二叉树

void PreOrder(BTREE root);//先序递归遍历二叉树

void InOrder(BTREE root);//中序递归遍历二叉树

void PostOrder(BTREE root);//后序递归遍历二叉树

void PreOrder_1(BTREE root);//先序非递归遍历二叉树

void InOrder_1(BTREE root);//中序非递归遍历二叉树

void PostOrder_1(BTREE root);//后序非递归遍历二叉树

void LayerOrder(BTREE root);//层次遍历

其他模块包括栈的初始化及其基本操作和队列的初始化及基本操作。

4.详细设计

1)二叉树的建立

其中mark的值1、2、3、4分别指str[i]为字母、‘(’、‘,’、‘)’;

tag为左、右孩子的标志;

2)二叉树的递归遍历(以先序遍历为例)

3)二叉树的非递归遍历(以先序遍历为例)

4)二叉树的层次遍历

访问元素所指结点,若该元素所指结点的左右孩子结点非空,则该元素所指结点的左孩子指针和右孩子指针顺序入队。

五、运行结果

1.建立二叉树

2.先序遍历

3.中序遍历

4.后序遍历

5.层次遍历

6.退出程序

7.出错信息

六、设计总结

二叉树是数据结构的的基本内容。虽然程序规模不大,我依然付出了努力,仍免不了各种错误的出现。编程过程需要很大的毅力和耐心,而且要有良好的思维和扎实的专业基础知识,所以我需要不断的学习,发现自身不足之处并改正它,逐步提高自己。下载本文

显示全文
专题