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 |