20162302 2017-2018-1 《程序设计与数据结构》第八周学习总结
教材学习内容总结
实现查找二叉树
代码调试中的问题和解决过程
问题1:构建
findMin()
方法- 解决方案:
BSTNode
中的add()
方法在调用的时候会根据数据的相对大小放在左面或右面。
public void add(T item) { if (item.compareTo(element) < 0) if (left == null) left = new BSTNode(item); else ((BSTNode) left).add(item); else if (right == null) right = new BSTNode(item); else ((BSTNode) right).add(item); }
所以可以根据这一属性获取最大值或最小值
public T findMin() { while (root.getLeft()!=null){ root = root.getLeft(); } return root; }
这样会改变数据本身
所以要重新给root赋值public T findMin() { BTNode s = root; while (root.getLeft()!=null){ root = root.getLeft(); } T data = root.getElement(); root = s; return data; }
这样运算结果就正常了
结对及互评
- 博客中值得学习的或问题:
- 结对伙伴暂时未提交博客
本周结对学习情况
结对学习内容:
没有进行系统的结对学习
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | ??/?? | 1/2 | 15/25 | |
第三周 | 465/465 | 1/3 | 15/40 | |
第五&六周 | 443/908 | 3/7 | 40/80 | |
第七周 | 528/1436 | 2/9 | 20/100 | |
第八周 | 881/2317 | 2/11 | 15/115 |