Visit node Traverse(left child) Traverse(right child)
Traverse(left child) Visit node Traverse(right child)
Traverse(left child) Traverse(right child) Visit node
基准地址
和偏移量
。应该是与文件存储读取时相关的有关名词。偏移量:计算机汇编语言中的偏移量定义为把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。
html
termType
做用?termType
变量是否为1。
termType
变量是人为设定的。记得当时咱们实现四则运算的时候,判断是不是操做符的条件是a.equals("+") || a.equals("-") || a.equals("*") || a.equals("÷")
,我不以为若是本身须要新建对象再肯定termType变量为1是否更加简便。printTree
代码如何理解?int possibleNodes = (int)Math.pow(2, printDepth + 1);若是你清楚二叉树的性质,你就会清楚这是最大的结点数加1。
heght(BinaryTreeNode<T> node)
方法中的递归是如何实现。由于if条件是node == null
,那么到最后是否是返回的值是0?// 返回这棵树的高度。 public int getHeight() { return height(root); } // 返回指定节点的高度。 private int height(BinaryTreeNode<T> node) { int left; int right; if (node == null) { return 0; } else { left = height(node.getLeft()); right = height(node.getRight()); if (left < right) return right + 1; else return left + 1; } }
left
已经为null
了,那么下一个判断它将返回0。left
为0,这时候开始递归right
。right + 1
,因此不会存在高度输出为0的结果。因此是正确的。手动@段志轩同窗。Exception in thread "main" java.lang.ClassCastException: week6.BinaryTreeNode cannot be cast to java.base/java.lang.String
没法转换成String类型。DecisionTree
类中evaluate()
方法中的System.out.println (current.getRootElement());
报错。对于LinkedBinaryTree
中的getRight()
和getLeft()
方法,我一开始写了两种实现方法。可是在运行背痛诊断器的时候,有一种出现了相似无限递归的状况。java
getRootElement()
操做,运用的是泛型,应该是能够转为String型输出的。DecisionTree
类有无问题。由于是书上代码,因此我又和书上的代码校对了一遍,代码没有错误。DecisionTree expert = new DecisionTree("D:\\IdeaProjects\\GK20172301_JavaProgramming\\src\\week6\\input.txt");
操做应该是没有问题的。left
和right
,同时在构造方法里定义this.left = left;
,这样,在getLeft()
中就能够直接调用left
了。上周无错题,优秀!node
这周的代码很复杂,再也不是单单的一个类几个方法。对于代码的理解和实现上面仍是有所不足的。对于背痛代码的错误,通过两三个小时的调试也没有找到根本缘由。
对于上学期的迭代和递归知识也有所忘记,应该及时温习。对于代码要保持高度的紧张。git
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 610/610 | 1/2 | 20/30 | |
第三周 | 593/1230 | 1/3 | 18/48 | |
第四周 | 2011/3241 | 2/5 | 30/78 | |
第五周 | 956/4197 | 1/6 | 22/100 | |
第六周 | 2294/6491 | 2/6 | 20/120 |