[자료구조 문제] 5.퀴즈로 해시 테이블 정리하기

[자료구조 문제] 5.퀴즈로 해시 테이블 정리하기

 

정보처리 기사 필기 및 정보처리 기사 실기 대비를 위한 컴퓨터 문제 모음. 개발할 때도 알고 있으면 좋을 문제들. 컴퓨터 자료 구조 문제 풀면서 코딩 배우기 ><

 

 

다음 빈칸에 들어갈 알맞은 말을 넣어보세요.

 

 

1.OOOOO은 키(Key)와 값(Value)이 한 쌍으로 구성되어 있습니다. 키(Key)를 이용해서 값(Value)에 직접 접근이 가능한 자료구조입니다. 배열과 연결리스트로 구현할 수 있습니다.

 

2.해시 테이블은 키(Key), 값(Value), 해시 함수(Hash Function)을 이용해서 OOO를 처리합니다.

 

3.해시 테이블을 구성하는 요소중 하나로 해시 함수(Hash Function)의 Input이 되는 요소 즉, 해시 값(Hash Value)을 얻기 위한 재료를 O(Key)라고 합니다.

 

4.OOOO는 주어진 데이터(Key)를 고정 길이의 불규칙적인 숫자로 변환하는 함수입니다. 

 

5.해시 함수가 키(Key)를 연산 후 반환하는 숫자를 해시값(Hash Value)이라고 합니다.

 

6.해시 함수의 특징은 입력값(Key)이 동일하면 출력(Hash Value)도 반드시 OO하다는 것입니다.

 

7.해시 함수의 특징은 전혀 다른 데이터(Key)를 입력해도 동일한 해시 값(Hash Value)이 나올 수 있다는 것입니다. 이 현상을 해시 값 OO(Collison)이라고 합니다.

 

8.해시 함수의 특징은 해시 값(Hash Value)으로 부터 원래의 데이터를 역산하는 것은 불가능하다는 것입니다. 데이터의 입력과 출력의 흐름이 O방향으로 이루어집니다.

 

9.해시 테이블에서 데이터를 검색할 때 먼저 키(Key)를 해시 함수로 연산 후, 해시 값(Hash Value)을 찾고 이를 기반으로 키(Key)에 대한 데이터의 OO를 찾습니다.

 

10.해시 테이블은 OOOO를 사용하여 키(Key)를 해시 값(Hash Value)으로 변환하고, 이 해시 값(Hash Value)을 주소 삼아 데이터(value)를 키(Key)와 함께 저장하는 자료구조라고 할 수 있습니다.

 

11.해시 테이블에서 값(Value)을 저장하는 과정 중 첫번째는 키(Key)를 해시 함수를 이용해서 OOO(Hash Value)으로 변환하는 것입니다.

 

12.두번째는 구한 해시 값(Hash Value)을 배열 공간 개수로 나누어 나머지를 구합니다. 나머지를 구하는 연산을 mod 연산이라고 하며 나머지는 값(Value)을 저장할 위치인 OOO(index)로 사용됩니다.

 

13.마지막으로 구한 인덱스(index)에 값(Value)를 저장합니다. 해당 인덱스(Index)에 데이터가 이미 존재한다면 OOOOO 구조를 이용해서 기존 데이터와 연결합니다.

 

14.해시 테이블의 장점으로는 데이터(Value)를 저장하고 읽는 OO가 빠르다는 것입니다.

 

15.해시 테이블의 장점으로는 키(Key)에 대한 값(Value)이 존재하는지 OO 확인이 쉽다는 것입니다.

 

16.해시 테이블의 단점으로는 저장 OO이 많이 필요하다는 것입니다. 또한 여러 키(Key)에 해당하는 주소(index)가 동일할 경우 충돌을 해결하기 위한 별도 공간(자료구조)이 필요합니다.

 

17.해시 테이블은 캐시를 구현할 때나 검색이 많이 필요한 경우 또는 저장, 삭제, 읽기가 빈번하게 발생하는 경우 등에 활용할 수 있는 OOOO 입니다.

 

 

출처: '코딩퀴즈' 앱

 

 

목차

[자료구조문제] 1.퀴즈로 배열 정리하기

[자료구조 문제] 2.퀴즈로 연결 리스트 정리하기

[자료구조 문제] 3.퀴즈로 스택 정리하기

 

문제 정답 확인

코딩퀴즈 안드로이드

https://play.google.com/store/apps/details?id=com.codingquiz.myapplication

 

코딩퀴즈 ios

https://apps.apple.com/kr/app/%EC%BD%94%EB%94%A9-%ED%80%B4%EC%A6%88/id1625309702