Starting from:
$35

$29

Homework 3 Solution

由于系里要求第十周不设置 DDL,以及很多同学有其他期中考试安排,故 DDL1 前提交得100%,DDL2 前得 80%,DDL2 之后不得分

Binary Tree

(1)建立 BinaryTree 类,实现 AddLeft(),AddRight()等方法,通过添加节点的方式建立二叉



(2)实现 inOrder, preOrder, postOrder, levelOrder 遍历,结果返回为 String

(3)根据 preOrder,inOrder 遍历构建树结构并输出 postOrder 遍历,根据 inOrder,postOrder遍历构建树结构并输出 preOrder 遍历

public class TreeNode {

int val;

TreeNode left;

TreeNode right;


TreeNode(int x) {

val = x;

left = null;

right = null;

}

}


public class BinaryTree {

public TreeNode root;


public boolean AddLeft(TreeNode parent, TreeNode left){ }

public boolean AddRight(TreeNode parent, TreeNode right){

}

public String TraversalInOrder() {

}

public String TraversalPreOrder() {

}

public String TraversalPostOrder() {

}

public String TraversalLevelOrder() {

}

public String PreIn2Post(String preTravesal, String inTravesal){

}

public String InPost2Pre(String inTravesal, String postTravesal){

}

测试程序

public class BinaryTreeTest {

public static void main(String[] args) { BinaryTree binaryTree = new BinaryTree(); TreeNode node0 = new TreeNode(3); binaryTree.root = node0;

TreeNode node1 = new TreeNode(9);

TreeNode node2 = new TreeNode(20);

binaryTree.AddLeft(node, node1);

binaryTree.AddRight(node, node2);

TreeNode node3 = new TreeNode(15);

TreeNode node4 = new TreeNode(7);

binaryTree.AddLeft(node1, node3);

binaryTree.AddRight(node1, node4);

System.out.println("TraversalInOrder:"+ binaryTree.TraversalInOrder());

System.out.println("TraversalPreOrder:"+ binaryTree.TraversalPreOrder());

System.out.println("TraversalPostOrder:"+ binaryTree.TraversalPostOrder());

System.out.println("TraversalLevelOrder:"+

binaryTree.TraversalLevelOrder());

System.out.println(binaryTree.PreIn2Post(binaryTree.TraversalPreOrder(),binaryT ree.TraversalInOrder()));

System.out.println(binaryTree.InPost2Pre(binaryTree.TraversalInOrder(),binaryTr ee.TraversalPostOrder()));

}

}


关于作业提交的一些要求:

●不要 DDL 前几分钟才提交,提交前检查压缩包内文件是否正确,提交后把提交的文件下

载后再检查一遍

●没实现的方法也要写上方法名,并按要求的类型输出返回值,保证测试代码调用方法编译不

出错

●不要带 package

●类名和方法名要符合要求

●不要导入奇奇怪怪的包

●不要用中文写代码,注释也不要

●如果代码在你本地都有红色警告就不要提交了,不能编译的直接 0 分

●什么都没做的不要交空文件,更不要交什么 word 文档

●尽量不要使用 java8 以上的 java 新特性(能直接换过来环境就给分,换不过来就没了) ●直接把所有 java 文件打包[zip] 上传,不要放进文件夹里,也不要单独交 java 文件

More products