AVL是平衡树,平衡因子概念什么的就不阐述了,主要是在不平衡时候如何旋转。(1)右子树右节点插入:左旋转。(2)左子树左节点插入:右旋转。(3)右子树左节点插入:右旋转后左旋转。(4)左子树右节点插入:左旋转后右旋转。
- 所谓的左旋和右旋都是以子树为原点的:如b是a的子树,那么旋转就围绕b来进行。
- 如果b是a的左子树,那么就围绕b将a向右旋转,看着就像是a直接掉下来了,掉成了b的右子树。
- 如果b是a的右子树,那么就围绕b将a向左旋转,看着就像是a直接掉下来了,掉成了b的左子树。
AVL是平衡树,平衡因子概念什么的就不阐述了,主要是在不平衡时候如何旋转。(1)右子树右节点插入:左旋转。(2)左子树左节点插入:右旋转。(3)右子树左节点插入:右旋转后左旋转。(4)左子树右节点插入:左旋转后右旋转。
好久不打球的说。
赶在一个大家都没有课的下午,阳关暖人,秋风惬意。拿着球拍,去隔壁学校打球(舒缓一下筋骨)。
建模聚会的说,大概是第三次在这里了,很开心。重要的是这里的风格很自由,很``没大没小”;有很多很多很好的人,很舒服,就酱。
承接所有的上文,在完成小车的避障、1602显示距离、寻迹、蓝牙控制功能后,把所有的子函数整合到一起,实现一个完整的功能,貌似简单,实际上我调了至少8个小时的BUG,以及会注明BUG存在的问题,还有解决方案。
承接上文,在完成小车的避障、1602显示距离、寻迹功能后,最后一步是对小车的蓝牙控制,用手机完成的小车的控制:前进、停车、倒车、左转、右转,想想还是很帅的。此文还跟之前的文章一样,只谈论代码。
不过笔者最近发现,只会写程序而不懂原理似乎真的不太好,比如,TMOD为什么是这样设置的,波特率是什么,他又是怎么工作的,51单片机的IO口额外的功能是什么样的,中断到底是怎么执行的,之前在学习的时候学的一知半解,不过学习终究是自己的事情。因此,在后续的文章中,将会对这些基本概念提出自己的理解,弄清楚这些最基本的概念,毕竟总不能糊弄着去写程序,闲扯结束,进入正题。