- BST
二分收索树, insert, delete 和find 操作, 需要先建立树的数据结构, 然完成具体操作。按照二分查找树的定义完成插入, 查找同样道理, 删除略难, 需要适当规定删除后的操作, 因为:
如果为叶子节点, 直接删除,
如果该节点, 有一个孩子, 子承父业,
如果两个, 规定长子代替该节点
如果删除根节点, 规定一个叶子节点为根节点, 然后左旋或右旋。
当然, 如果算法能读懂就不叫算法了, 需要看图, 然后思考具体步骤, 然后写代码。不写代码就像学会算法,呵呵。 - AVL
一种局部自平衡树, 如果一颗树的左右子树的深度之差的绝对值大于等于2, 那么需要局部平衡, 通过左右旋转的算法, 得到。
如上图, 树不平衡, 那么需要右旋转,算法为右旋算法:
算法图解-终极版-树-一颗倒长的树
最新推荐文章于 2023-06-05 23:46:10 发布