AVL 트리 개념정의, 2중 포인터를 이용한 c 코드 구현


AVL 트리 개념정의, 2중 포인터를 이용한 c 코드 구현

작년에 avl 구현 과제를 하면서 작성한 c 코드 avl을 구현한 c코드는 많지만 2중 포인터를 이용한 avl 코드는 없어서 올린다. 정의 컴퓨터 과학에서 AVL 트리(발명자의 이름인 Adelson-Velsky and Landis에서 따온 이름)는 자가 균형 이진 탐색 트리이다. 스스로 균형을 잡는 데이터 구조 중 처음으로 발명되었다. AVL 트리에서, 두 자식 서브트리의 높이는 항상 최대 1만큼 차이난다. 만약 어떤 시점에서 높이 차이가 1보다 커지면 이 속성을 유지하기 위해서 스스로 균형을 잡는다. 검색, 삽입, 삭제는 모두 평균과 최악의 경우 O(log n)의 시간복잡도가 걸린다. 삽입과 삭제는 한 번 이상의 트리 회전을 통해 균형을 잡을 수 있다. 코드 avl.h #ifndef __AVL_H__ #define __AVL_H__ struct AVL_Node { int key; struct AVL_Node* left; struct AVL_Node* right; int height...


#2중포인터 #avl #avltree #ccode #c언어 #tree #포인터

원문링크 : AVL 트리 개념정의, 2중 포인터를 이용한 c 코드 구현