20162302 《程序设计与数据结构》第八周学习总结
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 |