AVL Tree
2021-06-26 22:13:50 0 举报
AVL Tree
作者其他创作
大纲/内容
12
8
6
10
11
10copy
step 1
9
step 3
step2
5
右旋
4
7
3
14
step6
左子树高度1右子树高度3
16
// 创建新的节点,新节点的值等于当前根节点的值1.TreeNode newNode = new TreeNode(data);//把新的节点的左子树设置成当前节点的左子树2. newNode.left = left; //把新的节点的右子树设置成当前节点的右子树的左子树3.newNode.right = right.left; //把当前节点的值替换成右子节点的值4.data = right.data;//把当前节点的右子树设置成当前节点的右子树的右子树5.right = right.right;//把当前节点的左子树(左子节点)设置成新的节点6.left = newNode;
step 5
右旋的中间状态
当符合右旋转的条件时如果他的左子树的右子树高度大于他的左子树的高度,先对当前这个节点的左节点进行旋转,再对当前节点进行右旋转操作即可。
20
step4
左旋
step 4
双旋转
4copy
25
step5
step3
右子树高于左子树先左旋
step 2
收藏
收藏
0 条评论
下一页