資源簡介
在計算機科學中,AVL樹是最先發明的自平衡二叉查找樹。在AVL樹中任何節點的兩個子樹的高度最大差別為1,所以它也被稱為高度平衡樹。增加和刪除可能需要通過一次或多次樹旋轉來重新平衡這個樹
代碼片段和文件信息
????????#include?“avltree.h“
????????#include?
????????#include?“fatal.h“
????????struct?AvlNode
????????{
????????????ElementType?Element;
????????????AvlTree??Left;
????????????AvlTree??Right;
????????????int??????Height;
????????};
????????AvlTree
????????MakeEmpty(?AvlTree?T?)
????????{
????????????if(?T?!=?NULL?)
????????????{
????????????????MakeEmpty(?T->Left?);
????????????????MakeEmpty(?T->Right?);
????????????????free(?T?);
????????????}
????????????return?NULL;
????????}
????????Position
????????Find(?ElementType?X?AvlTree?T?)
????????{
????????????if(?T?==?NULL?)
????????????????return?NULL;
????????????if(?X?Element?)
????????????????return?Find(?X?T->Left?);
????????????else
????????????if(?X?>?T->Element?)
????????????????return?Find(?X?T->Right?);
????????????else
????????????????return?T;
????????}
????????Position
????????FindMin(?AvlTree?T?)
????????{
????????????if(?T?==?NULL?)
????????????????return?NULL;
????????????else
????????????if(?T->Le
評論
共有 條評論