[화일처리론] BTree 클래스 / 확장
- 최초 등록일
- 2003.12.08
- 최종 저작일
- 2003.12
- 3페이지/ 압축파일
- 가격 1,000원
소개글
소스코드와 코드 설명(한글파일)을 압축시켰습니다.
B tree의 개선함수 이므로 많은 참고 바랍니다.
목차
1-1. BTree 클래스의 Remove()함수를 작성(필수)
∙Merge와 Redistribution 에 의한 삭제
∙main (tsbtree.cpp)에 삭제되는 키에 대한 테스트 모듈 작성
1-2. BTree 클래스의 Insert()함수의 개선
∙삽입시 redistribution을 고려하여 B*-tree를 구성
1-3. BTree 클래스에서 buffering 를 고려한 Search() 구현
∙BTNode **Nodes 변수를 이용
1-4. 각 노드에 사용되는 키를 C나D와 같은 1byte 짜리가 아닌 문자열이 들어가도록 수정
1-5. 고정 크기의 키가 아닌 가변 크기의 키를 입력할 수 있도록 확장
1-6. Simple Index에서 구현했던 것과 같이 data file과 B-tree를 결합시켜서 완벽한 B-tree 작성
본문내용
BTree 클래스의 Remove()함수를 작성(필수)
(1) BTree의 삭제 규칙(3가지)
1. 만약 n이 키의 최소 개수 이상이고 키가 n에서 가장 크지 않다면, 간단히 n에서부터 k를 삭제한다.
2. 만약 n이 키의 최소 개수 이상이고 k가 n에서 가장 크다면, k를 삭제하고, n의 새로운 가장 큰 키를 반영하기 위해 더 높은 레벨 인덱스를 변경한다.
3. 만약 n이 정확히 키의 최소개수를 가지고, n의 형제중의 하나가 충분히 작은 키를 가진다면, 그것의 형제와 n을 합병하고 부모노드로부터 키를 삭제한다.
4. 만약 n이 정확히 키의 최소 개수를 가지고, 형제중의 하나가 여분의 키를 가진다면, 형제로부터 n까지 몇 개의 키를 옮김으로써 재분배한다. 그리고 영향받은 노드에 새로운 가장 큰 키를 반영하기 위해 더 높은 레벨의 인덱스를 변경한다.
참고 자료
없음
압축파일 내 파일목록
11980496.hwp
AppendixI/AppendixI.dsp
AppendixI/AppendixI.dsw
AppendixI/AppendixI.ncb
AppendixI/AppendixI.opt
AppendixI/btnode.h
AppendixI/btree.h
AppendixI/buffile.cpp
AppendixI/buffile.h
AppendixI/delim.cpp
AppendixI/delim.h
AppendixI/fixfld.cpp
AppendixI/fixfld.h
AppendixI/fixlen.cpp
AppendixI/fixlen.h
AppendixI/indfile.h
AppendixI/indnode.cpp
AppendixI/indnode.h
AppendixI/iobuffer.cpp
AppendixI/iobuffer.h
AppendixI/length.cpp
AppendixI/length.h
AppendixI/ReadMe.txt
AppendixI/recfile.h
AppendixI/simpind.h
AppendixI/strclass.cpp
AppendixI/strclass.h
AppendixI/tstbtree.cpp
AppendixI/varlen.cpp
AppendixI/varlen.h