해싱 함수를 이용한 직접화일 구현 알고리즘
- 최초 등록일
- 2012.05.02
- 최종 저작일
- 2007.06
- 12페이지/ 한컴오피스
- 가격 1,500원
소개글
확장성 해싱 함수를 사용하여 직접파일에 데이터를 삽입, 삭제, 검사하는 소스코드
목차
1. 해싱 함수를 이용한 직접화일 구현 알고리즘
2. 확장성 해싱 소스 코드
3. 출력화면
본문내용
- 삽입(i, I) : 입력받은 레코드를 키 값과 이름으로 입력 받게 되면, 해당 키 값을 해싱 키 생성 함수(PseudoKey)로 얻어진 키로 변환한 후 메모리에 접근하고, 이미 동일한 키가 들어 있는지 확인하고, 이미 동일한 키가 존재하면, 에러 메시지를 출력한다. 동일한 키가 없으면, 버킷에 여유 공간이 있는지 확인하고 여유 공간이 있으면 해당 버킷에 삽입시키고, 여유 공간이 없으면, 오버플로우가 발생하여 버킷을 분할하고 버킷분할에도 오버플로우가 발생하면 디렉터리를 분할 시켜서 저장한다.
- 삭제(d, D) : 삭제할 레코드 키 값이 입력되면, 해당 키 값을 해싱 키로 변환시켜서 없으면 에러메시지를 출력하고, 존재하면 해당 레코드를 버킷에서 삭제시킨다. 이때, 삭제시킨 레코드의 버킷이 공백이나 버디버킷과 합병가능하면 합병시키고 디렉터리의 리프를 재조정한다. 또 디렉터리도 축소가 가능하면 디렉터리도 축소시킨다.
- 검색(r, R) : 입력받은 키 값을 가진 레코드를 검색하여 존재하는지 여부를 출력한다. 만일 키가 존재하지 않으면 에러메시지를 출력한다.
2. 확장성 해싱 소스 코드
참고 자료
없음