这一周的学习内容为教材第十6、七章,主要就是和树有关的内容java
树。git
二叉树:每一个节点最多有两个孩子。若是每一个节点都有两个孩子,这个树叫彻底二叉树。编程
树的实现:数组
树的遍历:递归遍历比非递归遍历更简单,参照一个顺序的遍历能够写出其余顺序的遍历。数据结构
前序遍历:先根节点,再左子树,最后右子树学习
中序遍历:先左子树,再根节点,最后右子树设计
后序遍历:先左子树,再右子树,最后根节点3d
问题一解决办法:例如经常使用的储存和查找。在储存时设定一个根,就以这个根做为标准进行比较。比他小递归方法进入左子树去继续比较,比他大就右子树处理。可是储存结束后会出现,这个树不平衡,某一侧数据特别多,致使这颗树失去平衡。就须要对这个树进行旋转。调试
问题二解决方法:从代码效率来讲,确定是递归方法更好,由于递归方法简洁,效率高,也节约代码行数。可是不容易想,也须要严格设置递归循环终止的条件。不然极易出错。
root.left = temp;
时,编译没有任何报错,可是运行时会出现空指针异常。提示在打印root的内容处。单步调试发现是在这一句root.left指向temp时没法正常指向。
仍是要提升效率啊,这样可不行。 这样下去,期末的其余科目但是难以保证。 仍是要增长理解,提升效率。既是提升代码效率也是提升本身的效率。 加油吧,坚持下去,快放假了。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 6000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 17/17 | |
第2、三周 | 556/756 | 3/5 | 31/48 | 明白了类与方法的关系,对Java编程的思想的了解有了一些进步 |
第四周 | 673/1429 | 2/7 | 12/60 | 对两段代码之间的关系了解了一些 |
第五周 | 1308/2737 | 2/9 | 25/85 | |
第六周 | 800/3537 | 2/11 | 18/103 | |
第七周 | 4195/7732 | 2/13 | 27/130 | |
第八周 | 489/8221 | 1/14 | 6/136 | |
第九周 | 2893/11114 | 3/17 | 30/166 |
计划学习时间:20小时
实际学习时间:30小时
改进状况:原本想多分一些时间给其余科目,结果这段时间里的课程难度实在是……一言难尽。让我不得不拿出更多时间来学Java。但愿下周的时间能多一些空闲,让我学一下其余科目,我不想挂科!!!!!(Wa的一声)