20162307 2017-2018-1 《程序设计与数据结构》第8周学习总结
2017-10-29 20:34
399 查看
20162307 2017-2018-1 《程序设计与数据结构》第8周学习总结
教材学习内容总结(第十七章 二叉查找树)
概述
本章是在讲二叉查找树的特性、链式实现方式、旋转讨论Comparable接口
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
(3)左、右子树也分别为二叉排序树
设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么会有y.key<=x.key;如果y是x右子树中的一个节点,那么有y.key>=x.key。
由图可以看出,对于遇到的每个结点x,都会比较x.key与k的大小,如果相等,就终止查找,否则,决定是继续往左子树还是右子树查找。因此,整个查找过程就是从根节点开始一直向下的一条路径,若假设树的高度是h,那么查找过程的时间复杂度就是O(h)。
部分代码
public void add (T item) { if (root == null) root = new BSTNode<T>(item); else ((BSTNode)root).add(item); } public T remove (T target) { BSTNode<T> node = null; if (root != null) node = ((BSTNode)root).find(target); if (node == null) throw new ElementNotFoundException ("Remove operation failed. " + "No such element in tree."); root = ((BSTNode)root).remove(target); return node.getElement(); }
教材学习中的问题和解决过程
代码调试中的问题和解决过程
上周考试错题总结
结对及互评
本周结对学习情况
- [20162303](http://www.cnblogs.com/syx390234975/) - 结对学习内容 - 学习第十七章
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 68/68 | 1/1 | 12/12 | |
第三周 | 298/366 | 2/3 | 18/30 | |
第五周 | 688/1162 | 2/5 | 20/50 | |
第七周 | 1419/2581 | 4/9 | 20/70 | |
第八周 | 908/3489 | 2/11 | 20/90 |
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:20小时
实际学习时间:20小时
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
《Java程序设计与数据结构教程(第二版)》《Java程序设计与数据结构教程(第二版)》学习指导
JDK帮助文档
先序遍历,中序遍历,后序遍历
相关文章推荐
- 20162307 2017-2018-1 《程序设计与数据结构》第10周学习总结
- 20162319 2017-2018-20162319 《程序设计与数据结构》第8周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第7周学习总结
- 20162317 2017-2018-1 《程序设计与数据结构》第8周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第9周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第11周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第1周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162324 2017-2018-1 《程序设计与数据结构》第8周学习总结
- 学号20162305 2017-2018-1 《程序设计与数据结构》第8周学习总结
- 2017-2018-1 20155214 《信息安全系统设计基础》 第8周学习总结
- 20162326 2017-2018-1 《程序设计与数据结构》第10周学习总结
- 20162330 2017-2018-1《程序设计与数据结构》第三周学习总结
- 20162311 2017-2018-1 《程序设计与数据结构》第九周学习总结
- 20162305 2017-2018-1 《程序设计与数据结构》第9周学习总结
- 20162306 陈是奇 2017-2018-1 《程序设计与数据结构》第1周学习总结
- 20162324 2017-2018-1 《程序设计与数据结构》第7周学习总结
- 20162306 2017-2018-1 《程序设计与数据结构》第7周学习总结
- 20162318 2017-2018-1 《程序设计与数据结构》第5周学习总结
- 2017-2018-1 20155315 《信息安全系统设计基础》第8周学习总结