본문내용
class AvlTree
{
private:
AvlNode* m_pRoot; //Avl 트리 루트
public:
AvlTree();
~AvlTree();
AvlNode* Avl_MakeNode(); //AvlTree 노드 생성
bool Avl_Insert(); //AvlTree 노드 삽입
bool Avl_Delete_Traverse();//AvlTree 삭제할 노드 순회
bool Avl_Delete(); //AvlTree 노드 삭제
AvlNode* Avl_Search(); //AvlTree 노드 검색
bool Avl_Copy(); //AvlTree 노드 데이터 복사
//AvlTree 왼쪽 서브트리 균형맞추기
AvlNode* Avl_LeftBalance(AvlNode* pRoot);
//AvlTree 오른쪽 서브트리 균형맞추기
AvlNode* Avl_RightBalance(AvlNode* pRoot);
//AvlTree 왼쪽으로 회전
AvlNode* Avl_RotateLeft(AvlNode* pRoot);
//AvlTree 오른쪽으로 회전
AvlNode* Avl_RotateRight(AvlNode* pRoot);
//AvlTree 메모리 해제
bool Avl_MakeEmpty();
};
{
private:
AvlNode* m_pRoot; //Avl 트리 루트
public:
AvlTree();
~AvlTree();
AvlNode* Avl_MakeNode(); //AvlTree 노드 생성
bool Avl_Insert(); //AvlTree 노드 삽입
bool Avl_Delete_Traverse();//AvlTree 삭제할 노드 순회
bool Avl_Delete(); //AvlTree 노드 삭제
AvlNode* Avl_Search(); //AvlTree 노드 검색
bool Avl_Copy(); //AvlTree 노드 데이터 복사
//AvlTree 왼쪽 서브트리 균형맞추기
AvlNode* Avl_LeftBalance(AvlNode* pRoot);
//AvlTree 오른쪽 서브트리 균형맞추기
AvlNode* Avl_RightBalance(AvlNode* pRoot);
//AvlTree 왼쪽으로 회전
AvlNode* Avl_RotateLeft(AvlNode* pRoot);
//AvlTree 오른쪽으로 회전
AvlNode* Avl_RotateRight(AvlNode* pRoot);
//AvlTree 메모리 해제
bool Avl_MakeEmpty();
};
소개글