哈尔滨手机网站建设报价,wordpress图设置方法,江西手机版建站系统信息,福田搭建网站费用实验过程 实验2.1 实验内容#xff1a; 参考教材p375,完成链树LinkedBinaryTree的实现#xff08;getRight,contains,toString,preorder,postorder#xff09;用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试#xff0c;提交测试代码运行截图#xff0c;要全…实验过程 实验2.1 实验内容 参考教材p375,完成链树LinkedBinaryTree的实现getRight,contains,toString,preorder,postorder用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试提交测试代码运行截图要全屏包含自己的学号信息实验过程 这个实验主要是完善书上已给出的几个代码再针对它们写一个测试类或者驱动类来验证编写类的正确性即可。在BTNode里面有中序遍历方法下面留下来先序和后序给我们自己完善这个课上已经讲过了。而在LinkedBinaryTree中剩下的几个方法在前面都有类似的参照。对比着完成了。遇到的困难及解决方法 这次的测试类里面我创建的是一个驱动测试类而不是以前一直用的单元测试第一次输出的先后序遍历结果有错误经过代码复查我发现我在编写BTNode里面的preord和postord方法的时候时是照着中序写的left.inorder这种调用没有改成相应的顺序表达式方法如下面应调用left.preorder。修改完毕后测试驱动类的构建输出的结果和asserEqual测试过的方法均正确。 public void preorder(ArrayIteratorT iter) {iter.add(element);if (left!null)left.preorder(iter);if (right!null)right.preorder(iter);} 实验2.2 实验内容 基于LinkedBinaryTree实现基于中序先序序列构造唯一一棵二㕚树的功能比如教材P372给出HDIBEMJNAFCKGL和ABDHIEJMNCFGKL,构造出附图中的树用JUnit或自己编写驱动类对自己实现的功能进行测试提交测试代码运行截图要全屏包含自己的学号信息。实验过程 这个实验我是根据CSDN上别人发布的一个java的中先序构数的代码来完成的原代码里输出的是Integer类型我通过把设置的结点和方法全部换成String后就可以完成实验2.2的要求了。核心代码学习这个代码的核心方法跟我在上课中学到的在学习博客总结中总结的类似用先序的第一个元素也就是根将中序表达式分割为左右子树再根据左右子树的根结点继续划分成更小的子树在划分到最小单元也就是prestartpreendinstartinend时也就是先后序遍历到的最小树长度为1时返回的都是叶子结点。返回这些结点就可以输出树。同样采用了递归的思路。public static TreeNode reConstructBinaryTreeCore(String[] pre, String[] in, int preStart, int preEnd, int inStart, int inEnd) {TreeNode tree new TreeNode(pre[preStart]);tree.left null;tree.right null;if (preStart preEnd inStart inEnd) {return tree;}int root 0;for(root inStart; root inEnd; root){if (pre[preStart] in[root]) {break;}}int leifLength root - inStart;int rightLength inEnd - root;if (leifLength 0) {tree.left reConstructBinaryTreeCore(pre, in, preStart1, preStartleifLength, inStart, root-1);}if (rightLength 0) {tree.right reConstructBinaryTreeCore(pre, in, preStart1leifLength, preEnd, root1, inEnd);}return tree;}实验2.3 实验内容 完成PP16.6提交测试代码运行截图要全屏包含自己的学号信息。提交测试代码运行截图要全屏包含自己的学号信息。实验过程 修改教材十六章的代码将自己想要的问题和答案做成二叉树再用自己实现的基础二叉树实现出来。我的二叉树 核心代码学习public void diagnose(){Scanner scan new Scanner(System.in);LinkedBinaryTreeString current tree;System.out.println (可供选择的材料如下金铁铜塑料。回答“Y”表示同意回答“N”表示不同意。);System.out.println();while (current.size() 1){System.out.println (current.getRootElement());if (scan.nextLine().equalsIgnoreCase(N))current current.getRight();elsecurrent current.getLeft();}System.out.println (current.getRootElement());} dignose是书上backpain诊断病痛类型的方法。这种通过客户输入来确定下一步操作的方法很久没有接触过了之后的团队项目游戏里面可能要经常用到在这里mark一下: (scan.nextLine().equalsIgnoreCase(N))。 ### 实验四 实验内容 完成PP16.8提交测试代码运行截图要全屏包含自己的学号信息实验过程 我在查阅了网上的一些资料后采取了别人实现的一种与我们在栈的后缀表达式生成中用的近似的方法在不涉及括号的时候奇数个数据抽出来形成一个数组偶数位符号抽出来形成一个数组再用两个数据元素和一个符号数组组成一个子树这样逐级上溯到根节点。值得注意的是构建的时候从最深层的子树往上追溯一直到根节点结束。可以发现有叶子结点都是数据元素父结点都是计算符。本题中用到的计算表达树是遇到的困难及解决过程 在计算后缀表达式的时候我遇到了困难最终我输出的后缀表达式是一个void类型的方法输出的表达式我不太清楚怎么调用这个输出的结果比如我们之前在栈那一章节里面用的计算方法需要读取String类型的表达式但是我在网上也没有查到能直接将void类型转换成string类型的方法毕竟void类型本身有时候就是无类型定义方法的通用归类。我只能采取手动输入的方式来调用后缀表达式计算方法了。### 实验五 实验内容完成PP17.1提交测试代码运行截图要全屏包含自己的学号信息实验过程这个查找树应该更形象地称之为老师说的排序树更合适add方法在添加的时候是按照顺序添加的比父节点小的元素在左子树上添加如果已经有左子结点与左子结点比较这样循环。这样最终输出的时候finmin即输出中序表达式的第一个元素即可findmax输出最后一个元素即可。转载于:https://www.cnblogs.com/cs162315/p/7745368.html