검색어 입력폼
평가점수D

파일기반 B+ tree 삽입과 검색

등록일 2005.01.17 파일확장자압축파일 (zip) | 24페이지 | 가격 1,100원

소개글

B+ tree를 파일입출력으로 구현했습니다.
C언어로 구현했습니다.
생각보다 쉽지 않았던 레포트였네요~

컴파일 실행환경

C파일
VC++에서 컴파일
dos창에서 실행

본문내용

파일의 구조
// | | | | | |
// ---------------------------------------------------------------------------------
// head(root) type 노드 type 노드
//////////////////////////////////////////////////////////////////////////////////////

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <fcntl.h>
#include <io.h>

#define MAX 100 //스택에 쌓을수 있는 data 수를 최대 100까지
#define MAX_p 3 //한노드가 최대 가질수 있는 자식노드수

#ifndef SEEK_SET
#define SEEK_SET 0 //파일을 읽고쓰기위해.. 파일의 가장 처음부분
#endif

typedef struct //리프노드에 들어갈 key와 id 값을 저장하는 구조체
{
int key;
int id;
}Entry;

typedef struct //leaf노드를 저장할 구조체
{
Entry en[MAX_p]; //하나의 여유공간을 두었다.
//그 이유는 노드에 entry가 들어있는
갯수가 MAX_p-1개가 되면
//꽉차게되는데 그때 꽉찬곳에 새로운 entry가 들어오면
//여유공간에 새로들어온 entry를 저장하고 나누기 위해서
//하나의 여유공간을 두었다.
int link; //다음 leaf노드를 가르키기 위해서 필요한 변수
int cnt; //몇개의 entry가 노드에 삽입되어있는지 검사하기 위한 변수
}Leaf_node;


압축파일 내 파일목록

bplustree.c
bplustree.hwp
insert.txt
insert1.txt
search.txt
search1.txt
다운로드 맨위로