AVL树(附Java 代码、详细注释、前端打印功能)
树、深度、高度
平衡因子
左子树高度减去右子树高度的差值称为该树的平衡因子
左旋
记忆口诀:右边的儿子变爸爸,右子的左子变右子
右旋
记忆口诀:左边的儿子变爸爸,左子的右子变左子
增加、删除节点
增加删除节点会导致树节点的不平衡,需要重新计算高度和平衡因子并根据平衡因子进行旋转来重新平衡,以下是Java代码完整实现,并且还有打印器代码。
代码
前方高能,代码里包含大量注释内容、图型以及推导过程,觉得还OK的兄弟麻烦伸出你发财手点个赞啊!
Gitee : tree-printer
其中代码 tree-printer-web 是一个前端页面,可以方便测试增删查,大概就长下面这个样子
Talk is cheap, show me your code.