还剩1页未读,继续阅读
文本内容:
数据结构实验报告评分学号姓名专业计算机科学与技术XXXXXXXXXXX XXXXXX知识范畴树完成日期年月日20190506实验题目求二叉树先序、中序后序遍历次序的第个访问结点k满分——5分实验内容及要求编写程序,用先序递归遍历法建立二叉树的二叉链表存储结构,然后输出其先序、中序、后序遍历第个访问结点二叉树结点数据类型建议选用字符类型且各结点数据域值互不相同;输k出用结点数据域的字符表示;求第个访问结点的三个子函数中,需使用函数返回值和引用型形k参带回所求即每种方式至少使用一次实验目的掌握二叉树的基本算法、提前中止递归的方法以及返回参数的两种方法数据结构设计简要描述:采用链式存储二叉树,节点为结构体类型,每个节点带有左右儿子指针和数据域算法设计简要描述使用先序遍历建立二叉树,然后先序、中序和后序访问第个节点,并输出节点信息输入k/输出设计简要描述从键盘输入先序遍历建立节点的字符序列和访问的节点值;输出是先序、后序和中序遍历k的第个节点信息k编程语言说明使用编程主要代码采用语言实现;动态存储分配采用的和操作Dev C++C C++new delete符实现;输入与输出采用的和流;程序注释采用规范C++cin coutC/C++主要函数说明先序遍历建立二叉树BiTree CrtBT;//后序遍历访问第个节点void lasorderconst BiTree bt,int k,BiTree node;//k中序遍历访问第个节点void midorderconst BiTree bt,int k,BiTree node;//k先序遍历访问第个节点BiTree preorderconst BiTree bt,int k;//k程序测试简要报告■1E:\github\Algorithm\DataStructure\VisitNUmberJcNode\VisitNumber_kNode.e2Ipreorder BImidorder Alasorder CProcessexited after
4.263seconds withreturn ualue0请按任意键继续••.std::cout«”midorder«node-data«std::endl;lasorderbt,k3,node;std::cout«nlasorder:H«node-data«std::endl;return0;}//CreateBinaryTree.cpp#include PredefinedBiTreeCrtBT/***使用先序遍历建立二叉树*返回二叉树头结点指针*/char ch=getchar;钾//输入#字符表示指针域ifch=NULLreturn NULL;BiTree bt=new BiTreeNode;bt-data=ch;//建立左子树建立右子数bt-lelLchild=CrtBT;bt-right_child=CrtBT;//return bt;}//LasorderBinaryTree.cpp#include nPredefine.hnvoid lasorderconstBiTree bt,int k,BiTree node/***后序遍历访问第个节点k*参数为二叉树头结点,访问的节点位置,节点指针的引用*/if!bt||!k return;lasorderbt-lelf_child,k,node;lasorderbt-right_child,k,node;k—;ifk==Onode=bt;return;源程序代码//Predefine.h#ifndef_PREDEFINE_H_#define_PREDEFINE_H_#include iostream#include cstdlibtypedefchar ElemTp;typedef struct node{//数据域ElemTp data;//左指针structnode**lelfLchild,//右指针*right_child;}*BiTree,BiTreeNode;#endif//_PREDEFINE_H_//main.cpp#include iostream#include nPredefine.hnextern BiTreeCrtBT;extern voidlasorderconstBiTreebt,int k,BiTree node;extern voidmidorderconstBiTreebt,int k,BiTree node;extern BiTreepreorderconstBiTreebt,int k;int mainintargc,char**argvBiTree bt=CrtBT;intkl,k2,k3;std::cin»kl;k2=k3=kl;BiTree node=new BiTreeNode;node=preorderbt,k2;std::cout«”preorder:“«node-data«std::endl;midorderbt,kl,node;。
个人认证
优秀文档
获得点赞 0