引言
   平衡二叉树由于logN的时间效率,在排序和查找中有重要应用。

实现
 形态匀称的二叉树称为平衡二叉树 (Balanced binary tree) ,其严格定义是:
 一棵空树是平衡二叉树;若 T 是一棵非空二叉树,其左、右子树为 TL 和 TR ,令 hl 和 hr 分别为左、右子树的深度。当且仅当
   ①TL 、 TR 都是平衡二叉树;
   ② | hl - hr |≤ 1;
时,则 T 是平衡二叉树。

以下是它的c代码实现,具体思想参见<<数据结构>>(严蔚敏)一书。
AVL树及其实现#include <stdio.h>
AVL树及其实现#include 
<malloc.h>
AVL树及其实现
AVL树及其实现
#define LH  1 //左高
AVL树及其实现
#define EH  0 //等高
AVL树及其实现
#define RH  -1//右高 
AVL树及其实现
#define TRUE 1
AVL树及其实现
#define FALSE 0
AVL树及其实现
AVL树及其实现typedef 
int ElemType;
AVL树及其实现typedef 
struct BSTNode
}

AVL树及其实现
图1.

AVL树及其实现
图2
输出结果如下:
AVL树及其实现

相关文章:

  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2021-12-01
  • 2021-06-07
  • 2021-08-15
猜你喜欢
  • 2021-10-31
  • 2021-10-10
  • 2021-11-15
  • 2021-11-10
  • 2021-05-22
  • 2021-11-16
  • 2021-10-19
相关资源
相似解决方案