二叉树的建立与先序,中序,后序,层次遍历,图的深度优先搜索和广度优先搜索 实验报告.doc
《二叉树的建立与先序,中序,后序,层次遍历,图的深度优先搜索和广度优先搜索 实验报告.doc》由会员分享,可在线阅读,更多相关《二叉树的建立与先序,中序,后序,层次遍历,图的深度优先搜索和广度优先搜索 实验报告.doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、树和图的遍历实验报告 2011-4-9实验题目:树和图的遍历实验目的:1.实现二叉树的建立与先序,中序,后序,层次遍历2.选择建立图的类型;根据所选择的类型用邻接矩阵的存储结构构建图;对图进行深度优先搜索和广度优先搜索;实验内容:一、 算法描述: (1)二叉树的建立 要建立一棵树就要有根节点和两棵子树。两棵子树的建立同样需要这样的过程。建立二叉树的过程也是遍历树的过程,实验要求以前序遍历的方式输入数据,因此我们也应按前序遍历的顺序,动态申请存储空间的方式建立这棵树并返回根节点的指针。BiTNode *CreateBiTree(BiTNode *T)char ch;if(ch=getchar()
2、= ) T=NULL;else if(ch!=n)if(!(T=(BiTNode *)malloc(sizeof(BiTNode) exit(1);T-data=ch;T-lchild=CreateBiTree(T-lchild);T-rchild=CreateBiTree(T-rchild);return T;(2)二叉树的遍历遍历作为二叉树所有操作的基础,因此我把它放在二叉树建立的前面。前序遍历:即按照根节点,左子树,右子树的顺序访问。具体操作:遇到节点,立即打印根节点的值,然后访问左子树,再访问右子树。对左子树和右子树的访问也进行相同的操作。void PreOrderTraverse(B
3、iTree T)if(T)putchar(T-data);PreOrderTraverse(T-lchild);PreOrderTraverse(T-rchild); 同理,易得中序遍历,后序遍历的操作。/中序遍历二叉树void InOrderTraverse(BiTree T)if(T)InOrderTraverse(T-lchild);putchar(T-data);InOrderTraverse(T-rchild);/后序遍历二叉树void PostOrderTraverse(BiTree T)if(T)PostOrderTraverse(T-lchild);PostOrderTrave
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉树的建立与先序 中序 后序 层次遍历 图的深度优先搜索和广度优先搜索 实验报告 二叉 建立 层次 遍历 深度 优先 搜索 广度 实验 报告
限制150内