레포트샵

fileicon[C언어] 연결법을 이용한 해싱 프로그램

이전

  • icon

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:181040)

구매가격
1,200원 할인쿠폰1,080원
등록/수정
2007.11.07 / 2007.11.08
파일형식
fileiconzip(압축파일) [무료뷰어다운]
페이지수
5페이지
자료평가
est1est2est3est4est5(평가 1건)
등록자
lhil008
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

[C언어] 연결법을 이용한 해싱 프로그램에 대한 자료입니다.

목차

#define MAX_HT 10 /*해싱테이블의 최대크기*/
#define MAX_STR 100 /*문자열의 최대크기*/

typedef struct _entry *etyptr;

etyptr ht[MAX_HT]; // 해싱 테이블 생성

typedef struct _entry { // 레코드를 저장할 구조체
char *name; // 이름
int id; // 학번
char *major; // 전공
etyptr nextentry; // 다음 노드
} entry;


int hashing_func(int a){ return a%MAX_HT; } // 해싱 함수. 모듈러 연산을 이용하여 인덱스를 반환함.

void load_file(); // 파일 로드 함수.
void insert_data(); // 해싱 테이블에 입력받은 데이터를 저장하는 함수.
void find_data(); // 데이터 검색 함수.
void delete_data(); // 데이터 삭제 함수.
void save_data(); // 데이터를 파일에 저장하는 함수.
void inputToht(etyptr temp); // 해싱 테이블에 데이터를 저장하는 함수.

void init_ht(); // 해싱 테이블 초기화 함수.
void deleteHT(); // 해싱 테이블 삭제 함수.
etyptr search_data(int id, int index); // 해싱 테이블에서 데이터를 찾아주는 함수.

int Get_intData(); // 정수형 데이터를 받아오는 함수.
void Get_String(char *strtemp); // 문자열을 받아오는 함수.
void _strcpy(char *a, char *b); // 문자열을 복사하는 함수.

본문내용

void init_ht()
해싱테이블을 초기화 하는 함수. 체인법을 이용하여 오버플로우를 제어하므로 초기에는 모두 NULL을 가르키도록 한다.
void deleteHT()
해싱테이블을 삭제하는 함수. malloc으로 할당된 메모리를 모두 해제시켜주는 역할을 하는 함수이다.
void load_file()
파일을 해싱테이블에 저장하여 주는 함수. 파일이름을 입력받아 해당 파일을 열고, 그 내용을 해싱테이블에 체인법을 이용하여 저장하여주는 역할을 한다.
void inputToht(etyptr temp)
해싱테이블에 체인법을 이용하여 레코드를 저장하여 주는 함수. 인덱스는 모듈러 연산을 사용하는 해싱 함수를 이용하여 받아오고, 해당 인덱스에 체인법을 이용하여 레코드를 저장한다. 새로운 레코드는 앞부분에 삽입도록 하여 삽입 속도를 빠르게 유지시켜 준다.
void insert_data()
데이터를 직접입력 받아와 해싱테이블에 저장하여주는 함수. 데이터는 직접 입력 받아 레코드에 저장하고, 학번을 이용하여 인덱스를 찾아 해당 위치에 레코드를 연결하여 준다.
etyptr search_data(int id, int index)
해싱테이블에서 학번을 이용한 데이터 탐색을 해주는 함수. 파라미터로 검색할 학번과 테이블의 인덱스를 받아와 연결된 레코드들에서 검색을 하고 결과를 리턴하여 준다. 리턴 노드는 목표노드의 전노드이다.
void find_data()
학번을 이용하여 해싱테이블에서 데이터를 검색하는 함수. 정수형의 여덜자리 학번을 입력받아 탐색함수를 이용하여 결과를 받아온 후 출력하여주는 함수이다.
void delete_data()
학번을 입력받아 해당 데이터를 해싱테이블에서 삭제하는 함수. 학번을 입력하면 탐색함수를 이용해서 해당 노드의 전 주소를 받아온다. 그 주소를 이용하여 다음 노드를 삭제하여 준다.
void save_data()
해싱테이블의 데이터들을 파일에 저장하는 함수. 저장할 파일이름을 입력 받아서 현재 해싱테이블에 있는 데이터를 저장하여 준다.
int Get_intData()
정수값을 입력받아야 하는 경우 정상적인 입력이 이루어 졌는 지 검사 한 후 atoi함수를 이용하여 해당 정수값을 반환하여 주는 역할을 하는 함수. 최초 입력은 string으로 받아온다.
void _strcpy(char *a, char *b)
문자열을 파라미터로 받아와 복사하여 주는 함수.
void Get_String(char *strtemp)
문자열을 입력받는 함수. 파라미터로 받아온 배열에 문자열을 입력받아 저장하여주는 역할을 한다.

태그 해싱, 연결법, 연결법해싱, hash, 체인법

자료평가

자료평가0자료평가0자료평가0자료평가0자료평가0
1
lionraf*** (2007.12.10 00:45:08)

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.