文档详情

二叉树的递归创建与遍历.docx

发布:2017-04-21约小于1千字共3页下载文档
文本预览下载声明
一、目的 本实验的目的是通过理解二叉树的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。 题目 二叉树的创建与访问算法的设计 实验类型 设计性。本实验设计了二叉树的创建与访问算法。 要求及提示 1、【问题描述】 从键盘输入二叉树的元素,建立二叉树,实现二叉树的遍历算法。 【基本要求】 实现以下基本操作: 从键盘输入二叉树的元素,建立二叉树。 实现二叉树的后序遍历算法。 算法主要思路: 通过递归先序法建立二叉树,然后利用递归中序遍历法输出二叉树。 主要函数 建立:esh *creat(esh *bt) 输出:void preorder(esh *bt) 源代码 #includestdio.h #includestdlib.h #includestring.h typedef struct erchashu { char data; struct erchashu *lchild; struct erchashu *rchild; }esh; esh *creat(esh *bt) { char ch; scanf(%c,ch); getchar(); if(ch== ) bt=NULL; else { bt=(esh*)malloc(sizeof(esh)); bt-data=ch; bt-lchild=creat(bt-lchild); bt-rchild=creat(bt-rchild); } return bt; } void preorder(esh *bt) { if(bt!=NULL) { preorder(bt-lchild); printf(%c\t,bt-data); preorder(bt-rchild); } } int main() { esh *d,*c; printf(“输入元素\n”); c=creat(d); printf(“输出\n”); preorder(c); return 0; } 程序截图
显示全部
相似文档