〈新〉二叉树遍历.docVIP

  • 5
  • 0
  • 约7.64千字
  • 约 14页
  • 2017-01-15 发布于湖北
  • 举报
实现二叉树的各种遍历算法 一、实验目的 熟悉二叉树的创建和各种遍历方法。 二、实验内容 先建立一棵二叉树,然后用递归算法实现二叉树的前序、中序和后序遍历;用层次遍历算法实现二叉树遍历。 三、实验要点及说明 二叉树的遍历是指按照某种顺序访问二叉树中的每个结点,使每个结点被访问一次且只被访问一次。常见的有前序、中序、后序及层次遍历。遍历二叉树的递归算法虽很简单,但效率较低,可用层次遍历及非递归算法实现遍历。为了层次遍历,需用队列来进行相应处理。 四、算法思想与算法描述 1、二叉树的链式存储结构设计 typedef struct node { char data; //数据元素 struct node *lchild; //指向左孩子结点 struct node *rchild; //指向右孩子结点 }BTnode; 2、创建二叉树 采用广义表的形式创建一棵二叉树。用ch扫描采用括号表示二叉树的字符串。如果ch=‘(’则将前面创建的结点作为双亲结点进栈,并置k=1,表示其后创建结点将作为这个结点的左孩子结点;如果ch=‘)’。表示栈顶结点的左孩子结点处理完毕,退栈;如果ch=‘,’。表示其后创建的结点为右孩子结点;其他情况,表示要创建一个结点,并根据k值建立他与栈顶结点之间的联系。当k=1时表示这个结点作为栈顶结点的左孩子结点,当k=2时表

文档评论(0)

1亿VIP精品文档

相关文档