C++数据结构与算法笔记之实验八 二叉树构造及遍历 您所在的位置:网站首页 数据结构二叉树实验报告问题及解决方法 C++数据结构与算法笔记之实验八 二叉树构造及遍历

C++数据结构与算法笔记之实验八 二叉树构造及遍历

2024-07-07 02:01| 来源: 网络整理| 查看: 265

实验八 二叉树构造及遍历 实验目的 1.理解树形结构中结点和结点间关系的基本概念; 2.掌握二叉树的链式存储结构; 3.掌握二叉树结点的递归访问方法; 4.掌握二叉树的遍历。 实验环境 Windows 7以上版本的操作系统,Visual Studio 2010编程环境。 实验内容和步骤 1.根据以下的二叉树完成实验内容: 在这里插入图片描述

1)写出前序、中序和后序遍历序列; 前序:ABDECFG 中序:DBEAFGC 后序:DEBGFCA 2)分别写出单分支结点和叶子结点; 单分支节点:(度为1 ) CF 叶子节点:(度为0) DEG 3)以(#号)NULL补全单分支结点和叶子结点的空分支; 在这里插入图片描述

4)写出补全空分支(#号)后二叉树的前序遍历序列; 前序:ABD##E##CF#G### 5)在BiTree项目的main()函数中,将第4)小题的带#号的前序遍历序列作为数组A[]的值,并执行程序,以理解CreateBTree_Pre()函数的递归建树的过程。 ABD##E##CF#G### 6)在BiTree项目中添加二叉树的中序或后序遍历接口,并在主函数中进行验证。 中序遍历:void InOrder (BTNode *root); 后序遍历:void PostOrder (BTNode *root); 在Bitree.cpp文件中添加:

//中序遍历 void InOrder(BTNode *root) { if (root != NULL) { InOrder(root->left); //中序遍历左子树 cout right); //中序遍历右子树 } } //后序遍历 void PostOrder(BTNode *root) { if (root != NULL) { PostOrder(root->left); //中序遍历左子树 PostOrder(root->right); //中序遍历右子树 cout BTNode* temp = node->left; node->left = node->right; node->right = temp; InvertBiTree(node->left); InvertBiTree(node->right); } }

反转二叉树后:序列也会随之进行反转改变

运行截图:在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有