Java教程

来学柠魔方吧:由搜索二叉树到平衡二叉树

本文主要是介绍来学柠魔方吧:由搜索二叉树到平衡二叉树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

背景

二叉搜索树可以实现排序,查找等功能,但是如果二叉树过于不平衡,就会导致搜索效率降低,最差会退化到o(n)的时间复杂度,并且增删改也在不断影响二叉树的平衡程度,所以我们需要一个平衡算法,将二叉树调整为最平衡的状态,这样搜索效率最高。

 

算法内容

LL

RR

 

 

RL

 

 

LR

 

 转换的本质就是把左或右结点作为中间结点,把中间结点下放在左边或右边,由于三者大小关系明确,所以可以构成合理的新树

仔细看图,这个过程和柠魔方很像,发现模式,识别模式,使用四种之一公式,使用公式还原到平衡状态。

我愿称之为算法界的魔方

这篇关于来学柠魔方吧:由搜索二叉树到平衡二叉树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!