public Iterator<T> iteratorPreOrder() { ArrayUnorderedList<T> tempList = new ArrayUnorderedList<T>(); preOrder(root, tempList); return new TreeIterator(tempList.iterator()); } protected void preOrder(BinaryTreeNode<T> node, ArrayUnorderedList<T> tempList) { if (node != null) { tempList.addToRear(node.getElement()); preOrder(node.getLeft(), tempList); preOrder(node.getRight(), tempList); } }
public Iterator<T> iteratorLevelOrder() { ArrayUnorderedList<BinaryTreeNode<T>> nodes = new ArrayUnorderedList<BinaryTreeNode<T>>(); ArrayUnorderedList<T> tempList = new ArrayUnorderedList<T>(); BinaryTreeNode<T> current; nodes.addToRear(root); while (!nodes.isEmpty()) { current = nodes.removeFirst(); if (current != null) { tempList.addToRear(current.getElement()); if (current.getLeft() != null) nodes.addToRear(current.getLeft()); if (current.getRight() != null) nodes.addToRear(current.getRight()); } else tempList.addToRear(null); } return new TreeIterator(tempList.iterator()); }
二叉樹的性質:若二叉樹的根結點位於第一層html
問題1的理解以及解決:經過老師上課的講解,我對這個問題有了本身的理解。當肯定好進入數組的順序後,經過先來先服務的基準連續分配數組位置,而不是經過其在樹中的定位將樹元素指派到數組位置上。數組的每個元素都是結點類,每個結點存儲的是該結點孩子的數組索引。
java
if ((operator == '+') || (operator == '-') || (operator == '*') || (operator == '/')) { operand1 = getOperand(treeStack); operand2 = getOperand(treeStack); treeStack.push(new ExpressionTree (new ExpressionTreeOp(1,operator,0), operand2, operand1)); } else { treeStack.push(new ExpressionTree(new ExpressionTreeOp (2,' ',Integer.parseInt(tempToken)), null, null)); }
問題2的解決:可是hight是最遠路徑,通過我和仇夏同窗的討論,郭愷同窗、王文彬的提醒,咱們應該去遞歸找最遠的路徑,這樣來說咱們應該遞歸去找每一條線路,而後經過比較找到最長的路徑返回。
node
問題3:當時運行BackPainAnalyzer類時顯示文件找不到。git
問題2的解答:答案是A,接口名能夠用來聲明一個對象引用變量,一個接口引用能夠用來引用實現了該接口的任意類的任意對象。數組
本週結對學習內容:本週討論了樹的相關概念以及書上代碼的理解,對如何輸出一個樹進行了探討學習。數據結構
非線性結構的學習開始是否是就意味着線性結構的學習先告一段落了呢,其實否則,在樹的到處透露着鏈表和數組的身影。想要融會貫通,還得繼續努力。post
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | |
---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 |
第一週 | 0/0 | 1/1 | 8/8 |
第二週 | 621/621 | 1/2 | 12/20 |
第三週 | 678/1299 | 1/3 | 10/30 |
第四周 | 2734/4033 | 1/4 | 20/50 |
第五週 | 1100/5133 | 1/5 | 20/70 |
第六週 | 1574/6707 | 2/7 | 15/85 |