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 |