[파일구조론] B 트리 템플릿구현
- 최초 등록일
- 2003.12.05
- 최종 저작일
- 2003.12
- 13페이지/ 압축파일
- 가격 1,000원
소개글
직접 짰구요.. 성능 좋아요..^^
궁금사항있으시면 멜 보내주세요....
pascal123@empal.com
목차
1. 프로그램 프로젝트 폴더.
2. B 트리 원리와 프로그램 동작 과정 설명 한글파일
본문내용
이원 탐색 트리의 균형을 맞추기 위해 개발된 AVL 트리는 트리의 균형을 어느 정도는 잡아주지만 균형을 잡기 위해 삽입과 삭제가 일어날 때마다 노드를 회전시켜주어야 하며 매 순간마다 노드의 균형이 깨어졌는가를 체크하여야 하기 때문에 실제 삽입과 삭제에서 일어나는 디스크 접근 외의 빈번한 디스크 접근이 이루어져 외부 검색용 라이브러리로서의 효율성이 떨어진다. B 트리는 이러한 AVL 트리의 단점을 획기적으로 개선시켰으며 나무의 균형이 완전히 잡히는 Balance 구조이다.
1. B 트리 구현에 적용된 원리
▲ 노드의 일반 성질
․차수가 m인 나무는 하나의 노드에 최대 m 개의 key를 가질 수 있는 나무이다.
․본 구현에서 차수 m은 무조건 홀수로 한다. key 수가 홀수일때와 짝수일때의 구현 방법이 상이하므 로 일관성을 유지하기 위해 차수는 무조건 홀수로 정하였다.
․노드에서 Pi 가 가리키는 노드에 있는 key 들은 Ki 보다 모두 작고 Pi+1 이 가리키는 노드에 있는 key 들은 모두 Ki 보다 커야 한다.( m원 탐색 트리와 동일 )
․뿌리 노드를 제외한 각 노드에는 최소 m/2 개 이상의 key 가 존재해야 한다.
․뿌리 노드는 자신이 리프 노드일 때를 제외하면 최소 2개 이상의 자식 노드를 가지고 있어야 한다.
․모든 노드는 최대 m+1 개의 자식 노드를 가질 수 있다.
참고 자료
1. 파일구조론(이석호)
압축파일 내 파일목록
Btree.hwp
Btree/key.h
Btree/btree.h
Btree/data.h
Btree/ExMain.cpp
Btree/indexfile.h
Btree/recordfile.h
Btree/pinterface.h
Btree/Debug/BTreeExam.exe