二叉树中结点左右子树的交换.docxVIP

  • 83
  • 0
  • 约9.53千字
  • 约 38页
  • 2020-03-13 发布于江西
  • 举报
一、问题描述 二叉树是一种常见的特殊的树型结构,在计算机领域有着极为广泛的应用。在二叉 树的一些应用中,常常要求在树中查找具有某些特征的结点或者对树中全部结点逐一 进行某种处理,这就提出了遍历二叉树。根据遍历的方向的不同,有前序遍历、中序 遍历、后序遍历以及层序遍历。在本次课程设计中,要求学生通过编写程序完成对二 叉树的一些操作,比如可以构造二叉树、打印二叉树、遍历二叉树以及对左右子树进 行交换等等。 二、基本要求 要求:。构造一颗 20 个节点的完全二叉树或者 20 个节点以上的满二叉树。 实现如下步骤: 实现二叉树的构造过程,并打印出二叉树 对该二叉树分别用层序、前序、中序和后序四种不同的方法进行遍历; 将该二叉树的所有左右子树进行交换,得到新的二叉树,并打印出该二叉树; (4)对新获得的二叉树分别用层序、前序、中序和后序四种不同的方法进行遍历。 三、数据结构的设计 由数据结构中二叉树的定义可知,二叉树的结点由一个数据元素和分别 指向其左、右子树的两个分支构成,所以在本程序二叉树的构造是采用二 叉链表的链式存储结构,链表中的结点应包含三个域:数据域和左、右孩 子的指针域。这种存储结构可以方便二叉树的建立以及遍历。 1、结点的数据结构 struct node { char data; struct node *lchild,*rchild; } 2、基本操作 void Crea

文档评论(0)

1亿VIP精品文档

相关文档