2023年数据结构二叉树操作实验报告.docx
《2023年数据结构二叉树操作实验报告.docx》由会员分享,可在线阅读,更多相关《2023年数据结构二叉树操作实验报告.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构一实验报告指导教师 x X实验时间:指23年1 1月L日学院计算机学院专业 信息安全班级 XXXXXX 学号 XXXXX 姓名 X X 实验室S331实验题目:二叉树操作实验规定:采用二叉树链表作为存储结构,完毕二叉树的建立,先序、中序和后序以及按层次 遍历的操作,求所有叶子及结点总数的操作。示例程序:# i n clud e s t d i o. hi n clud e string. h# d e fine Max 2 0结点的最大个数ty p e def str u ct n o d e cha r data;str u ct node *lchild, c hild; BinT
2、Node;自定义二叉树的结点类型type d e f B i nTNode *BinTree; 定义二叉树的指针i nt NodeNum, leaf;NodeNum为结点数,lea f 为叶子数= = =基于先序遍历算法仓ij建二叉树二= = =/ /二二=二=规定输入先序序列,其中加入虚结点以示空指针的位置= = =Bi n T ree Cr e a t B i nTree (voi d )if(p-l c hild! =NULL)rear=( r ear+1) %No d eNum;cqrear=p-l c hild; / /左子树入队 if(p r c h i 1 d! =NULL)。
3、r ear=(r ear +1)%N o deNum;oc q r e a r=pr c hil d ;/ / 右子树入队)I/=主 函数=vo i d main()(BinTree root;in t i , d epth;printf ( n);p rintf(nCr eat B i n_Tre e ; I n put p r e order:);输入完全二叉树的先序序列,用#代表虚结点,如ABD#CE#F#r o ot=C r e atBinT r ee ();创建二叉树,返回根结点do 从菜单中选择遍历方式,输入序号。ooprin t f(Mt * * * s el e ct * *
4、* *n );p r intf(n t 1: P r eord e r Tra v ersal n n);o p ri n t f(nt2: lorder Tra v e rs a 1 nH);。p rin t f(H t 3 : Pos t or d e r tra ver s a 1 n”);printf(nt4: P o stTre e De p th, Node number, Leaf n umbernn);oprintf Ct5:Leve 1 Depth n ”); / /按层次遍历之前,先选择4 ,求出该树的结点数。 oprintf(ntO: Exi t nH);6prin t
5、f (、* n )scanfC%dn,&i) ;/输入菜单序号(05)s wi t ch (i) 。c ase 1: p rintf(nP r int Bin_tree P r e o r der: );r eorder(root) ;/ /先序遍历3break;case 2: printf (nPri n t Bi n _ T r e e Ino r de r : n);Ino r de r ( r oot);中序遍历break;。 ca s e 3 : p rint f ( n P ri nt B i n_T ree Pos tor der:);。 Posto r d e r (root)
6、; 后序遍历 ?bre a k;c a se 4: dep t h=TreeDepth(r o ot);/求树的深度及叶子数。 printf( n Bin T ree Dept h = %d BinT ree No d e numb e r=% d ”,d epth,NodeN u m);p rintf(n Bi n T r ee Leaf num b er=%cT,lea f );o break;c as e 5: p r i n tf(nL e v e P rint Bi n _T r ee: );Ie v elorder(root);/ /按层次遍历。 break;a d efau 1
7、t : exit(l );p r intf(nn n ); while ( i !=0);程序结果:D:C语言编的程序DebugCppl.exe”Creat Bin_Tree ; Input preorder : ABDttttttCEItttFtttt xxxxxxxxxx select xxxxxxxxxxxx 1: Preorder Traversal 2: Iorder Traversal 3: Postorder traversal4: PostTreeDepth,Node number .Leaf number 5: Leuel Depth0: Exit1Print Bin_tre
8、e Preorder: ABDCEFx x x x x x x x x x select x x x x x x x x wx1: Preorder Traversal2: Iorder Traversal3: Postorder trauersal4: PostTreeDepthj.Node number,Leaf number5: Leuel Depth0: Exitrint Bin_Tree Inorder: DBAECF* select x射射射射射射射射2Print2Print3c语言编的程序DebugCppl.exe”Bin_Tree Inorder: DBAECF * selec
9、t *1:2:4:0:Preorder Trauersal Iorder Trauersal Postorder trauersal PostTreeDepth,Node number .Leaf nunber Leuel Depth Exit3 PrintBin_Tree Postorder: DBEFCA xxxxxxxxxx select xxxxxxxxxxxx1:2:3:4:0:Preorder Trauersal Iorder Trauersal Postorder trauersal PostTreeDepthj-Node number .Leaf number Leuel De
10、pth ExitXXXXXXXMXXXX-XXXXXXXXXXXXXMMX4BinTree Depth=3 BinTree Node nunber=6 BinTree Leaf number=3 MMXMXXXMMM SClect MXMXXXXMMXMM 1: Preorder Trauersal,D:CiBBK?DebugCppl.exeHBinTree Depth=3 BinTree Node number=6 BinTree Leaf nunber=3 xxxxxxxxxx select xxxxxxxxxxxx1:2:3:4:0:Preorder Trauersal Iorder T
11、raversal Postorder traversal PostTreeDepth,Node numberLeaf number Leuel Depth ExitMXMXXMXXMXXMXMMXMXXMMMXXMXXMXXX5LeuePrint Bin_Tree: ABCDEF * select *1:2:3:4:0:Preorder Traversal Iorder Traversal Postorder trauersalPost Tree Depth, Node number .Leaf number Leuel Depth ExitM X M M X M X-X X M M M X
12、XX M-XX X M X M X X M6Press any key to cont inue二叉树及后序遍历(虚线途径)心得体会:通过本次实验,我纯熟了二叉树先序、中序和后序三种遍历,不仅是程序的编写,尚有二叉树的绘制。Bin Tree T;char c h;if ( c h = g e tc h a r ()=#)r e t u rn (NULL);读入#,返回空指针els e T二(B i nTN ode *)malloc(si z eof (B inTNode); 生成结点 T-data=ch;qT 1 ch i ld = Cre a tB i nTr e e () ;/ / 构造左
13、子树oT-r c hi 1 d= C reatBinTree ();构造右子树re t u r n (T);)/= = = = NLR 先序遍历= =vo i d P reorder (Bin Tree T)(i f8 P rintf (c,T data); 访问结点oP r eorder (T-lc h i 1 d );先序遍历左子树Pre o r de r ( T- r child) ;/先序遍历右子树)LNR 中序遍历=/= = =LRN 后序遍历= = =采用后序遍历求二叉树的深度、结点数及叶子数的递归算法=int TreeDepth(Bi nTree T)i n t h 1, hr,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数据结构 二叉 操作 实验 报告
限制150内