二叉树的基本操作及其应用
25页1、广西工学院计算机学院广西工学院计算机学院数数据据结结构构课课程程实实验验报报告告书书实验六实验六 二叉树的基本操作及其应用二叉树的基本操作及其应用学生姓名:学生姓名:学学 号:号:班级:班级:指导老师:指导老师:专专 业:业:计算机学院软件学院计算机学院软件学院提交日期:2013 年 6 月 22 日- 1 -1 1实验目的实验目的1) 了解二叉树的特点、掌握二叉树的主要存储结构。2) 掌握二叉树的基本操作,能针对二叉树的具体应用选择相应的存储结构。3) 掌握递归算法的设计方法。 2.2.实验内容实验内容(1 1)二叉链表表示二叉树,建立一棵二叉树,实现下列基本操作)二叉链表表示二叉树,建立一棵二叉树,实现下列基本操作, ,通过数据测试每通过数据测试每个操作的正确性,包括:个操作的正确性,包括:1. CreateBinTree(/定义宏参定义宏参/二叉树链表的类型定义二叉树链表的类型定义typedef struct BiTNodeTElemType data;/二叉树元素元素类型定义二叉树元素元素类型定义struct BiTNode *lchild,*rchild;/定义左右孩子指针定
2、义左右孩子指针BiTNode,*BinTree;typedef BinTree ElemType;/队列元素类型定义队列元素类型定义/定义链式队列类型定义链式队列类型typedef struct QNodeElemType data;/元素类型定义元素类型定义struct QNode *next;/指向下个结点指向下个结点QNode,*QueuePtr;- 3 -/队列指针定义队列指针定义typedef struct QueuePtr front;/队列头指针队列头指针QueuePtr rear;/队列尾指针队列尾指针QUEUE;/先序建立二叉树先序建立二叉树void CreateBinTree(BinTree scanf(“%c“,if(ch= )T=NULL;elseT=(BinTree)malloc(sizeof(BiTNode);/建立头结点建立头结点if(!T)exit(0);T-data=ch;CreateBinTree(T-lchild);CreateBinTree(T-rchild);return;- 4 -/清空二叉树清空二叉树void ClearBinTree(Bi
3、nTree /赋域空值赋域空值ClearBinTree(T-lchild);ClearBinTree(T-rchild);return;/判断空二叉树判断空二叉树int BinTreeEmpty(BinTree T)/初始条件初始条件:二叉树已存在二叉树已存在/操作结果操作结果:若空返回值若空返回值 1,反之返回,反之返回 0if(!T)return 1;elsereturn 0;/先序遍历二叉树先序遍历二叉树void PreorderTraverse(BinTree T)/初始条件初始条件:二叉树已存在二叉树已存在/操作结果:先序递归遍历操作结果:先序递归遍历 Tif(T)- 5 -printf(“%c“,T-data);PreorderTraverse(T-lchild);PreorderTraverse(T-rchild);return;/中序遍历二叉树中序遍历二叉树void InorderTraverse(BinTree T)/初始条件初始条件:二叉树已存在二叉树已存在/操作结果操作结果:中序递归遍历中序递归遍历 Tif(T)InorderTraverse(T-lchild);
4、printf(“%c“,T-data);InorderTraverse(T-rchild);return;/后序遍历二叉树后序遍历二叉树void PostorderTraverse(BinTree T)/初始条件初始条件:二叉树已存在二叉树已存在/操作结果操作结果:后序递归遍历后序递归遍历 Tif(T)- 6 -PostorderTraverse(T-lchild);PostorderTraverse(T-rchild);printf(“%c“,T-data); return;/初始化链式队列初始化链式队列void InitQueue(QUEUE *q)/初始条件初始条件:队列不存在队列不存在/操作结果:建立一个队列操作结果:建立一个队列q-front=q-rear=(QueuePtr)malloc(sizeof(QNode);/建立头尾结点建立头尾结点if(!(q-front)/头结点指向头结点指向 NULLexit(0);q-front-next=NULL;/销掉链式队列销掉链式队列void DestroyQueue(QUEUE *q)/初始条件初始条件:队列已存在队列已存在/操作
《二叉树的基本操作及其应用》由会员飞***分享,可在线阅读,更多相关《二叉树的基本操作及其应用》请在金锄头文库上搜索。
人教版一年级下册数学第二单元20以内的退位减法测试卷精品【考试直接用】
人教版一年级下册数学第二单元20以内的退位减法测试卷(实用)word版
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案(夺冠)
人教版一年级下册数学第二单元20以内的退位减法测试卷(典型题)
人教版一年级下册数学第二单元20以内的退位减法测试卷精品(a卷)
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案【精品】
部编版二年级上册道德与法治期中测试卷 (考试直接用)
部编版二年级上册道德与法治期中测试卷 带答案(培优)
部编版二年级上册道德与法治期中测试卷 含答案(精练)
部编版二年级上册道德与法治期中测试卷 及答案【各地真题】
部编版二年级上册道德与法治期中测试卷 及完整答案【名校卷 】
部编版二年级上册道德与法治期中测试卷 【考点精练】
部编版三年级上册道德与法治期末测试卷 (重点)
部编版三年级上册道德与法治期末测试卷 (模拟题)word版
部编版三年级上册道德与法治期末测试卷 附答案(预热题)
部编版三年级上册道德与法治期末测试卷 附参考答案(b卷 )
部编版三年级上册道德与法治期末测试卷 答案下载
部编版三年级上册道德与法治期末测试卷 含答案【夺分金卷 】
部编版三年级上册道德与法治期末测试卷 含完整答案【网校专用】
部编版三年级上册道德与法治期末测试卷 及答案(最新)
2022-08-28 7页
2023-09-10 4页
2023-11-23 18页
2023-11-12 6页
2023-09-03 2页
2023-02-10 2页
2023-02-02 3页
2023-09-27 4页
2022-08-09 35页
2023-02-05 9页