数据结构实验报告--树的遍历.docVIP

  • 118
  • 0
  • 约2.86千字
  • 约 2页
  • 2016-05-25 发布于重庆
  • 举报
数据结构实验报告--树的遍历

数据结构 实验报告 实验名称 树的遍历 日期 2014-11-17 专业班级 计算机(中加)131班 地点 信息学院621 实验人 王鹏伟 学号 1520133713 同组人 单独完成 实验目的 按照老师要求实现树的前序、中序、后序遍历; 学会树前序、中序、后序遍历的规则。 实验要求 任意给定一棵树; 运用算法输出该树的前序、中序、后序遍历结果。 三、实验内容 1、利用书本18.3 recursion and trees以及18.4 tree traversal:iterator classes的知识解决遍历问题,并输出结果。 四、实验过程和结果 部分实验代码: //定义树 class Tree { class Node { public long value; public Node leftChild; public Node rightChild; public Node(long value) { this.value = value; leftChild = null; rightChild = null; } } // 向树中插入一个节点 public void insert(long value) { Node newNode = new Node(value); // 树是空的 if (root == null) root = newNode; else { Node current = root; Node parentNode; while (true) { parentNode = current; if (value current.value) { current = current.leftChild; // 要插入的节点为左孩子节点 if (current == null) { parentNode.leftChild = newNode; return; } } else { // 要插入的节点为右孩子节点 current = current.rightChild; if (current == null) { parentNode.rightChild = newNode; return; } }}}} // 先续遍历树中的所有节点 public void preOrder(Node currentRoot) { if (currentRoot != null) { System.out.print(currentRoot.value + ); preOrder(currentRoot.leftChild); preOrder(currentRoot.rightChild); } } // 中续遍历树中的所有节点 public void inOrder(Node currentNode) { if (currentNode != null) { inOrder(currentNode.leftChild); System.out.print(currentNode.val

文档评论(0)

1亿VIP精品文档

相关文档