검색어 입력폼
평가점수C

[컴퓨터공학] extendible hashing

등록일 2004.04.04 파일확장자압축파일 (zip) | 25페이지 | 가격 1,000원

소개글

1. extendible hashing 구현 source
2. dacument에서는 데이터가 저장되는 모습을 그림으로 나타내어 이해를 도움

목차

1. 프로그램 설명
2. 알고리즘 및 함수설명
3. 프로그램 진행모습 (그림)
4. source code

본문내용

4. Source code
1. e_hashing.h
#include <stdio.h>
#include <stdlib.h>

#define MIN_ORDER 2
#define KEY_LENGTH 6
#define BUCKET_SIZE 4

typedef struct Record
{
int key;
char* name;
} record;

typedef struct Leaf
{
int header;
int count; // 저장된 record의 갯수
record** pRecord; // 저장된 record의 주소를 가리키는 pointer의 배열
} leaf;

typedef struct Directory
{
int header;
int divCount; // directory의 header와 같은 header를 가진 leaf pair의 갯수
leaf** entry;
} directory;

// 키를 가지고 데이터를 검색한다.
record* retrieval(int key, directory* dir);
// 레코드를 받아서 저장한다. (return value : 성공=1, 실패=0)
int insertRecord(record* rec, directory* dir);
// 키를 받아서 레코드를 찾아 지운다. (return value : 성공=1, 실패=0)
int delRecord(int key, directory* dir);
// 테이블을 출력한다.
void printTable(directory* dir);
// 보조함수들
int pow_2(int p);
int makePseudokey(int key);
int foreget(int k, int n);
다운로드 맨위로