38. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방 식은?
① 제산법 ❷ 폴딩법
③ 기수변환법 ④ 숫자분석법
문제 분석 및 해설
이번 문제는 해싱 함수에 관한 문제입니다. 해싱 함수는 주어진 레코드 키를 고정된 크기의 주소로 변환하는 함수입니다. 이때 사용되는 다양한 해싱 기법들이 있습니다. 문제에서 묻고 있는 것은 레코드 키를 여러 부분으로 나누고, 각 부분의 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 해싱 기법입니다.
각 보기의 해석을 살펴보겠습니다. 😎
각 보기 해설
① 제산법 (Division Method)
- 틀립니다. 제산법은 주어진 키 값을 소수로 나눈 나머지를 해시 주소로 사용하는 방법입니다. 예를 들어, 키 값을 어떤 소수로 나눈 후 나머지를 주소로 사용하는 방식입니다. 제산법은 주어진 키를 단순히 나누는 방법이기 때문에 문제의 조건과 맞지 않습니다.
❷ 폴딩법 (Folding Method)
- 맞습니다. 폴딩법은 주어진 레코드 키를 여러 부분으로 나누고, 나눈 각 부분의 숫자를 더하거나 XOR 연산을 한 값을 해시 주소로 사용하는 방법입니다. 예를 들어, 긴 숫자 키를 일정한 자릿수로 나눈 후, 그 부분들을 더하거나 XOR하여 최종적으로 해시 값을 얻습니다. 이 방식은 키를 나누고 조작하는 방식이므로 문제의 조건에 맞습니다.
③ 기수변환법 (Radix Transformation)
- 틀립니다. 기수변환법은 숫자를 다른 기수(진법)로 변환하여 해시 값을 구하는 방법입니다. 예를 들어, 10진수를 2진수로 변환하거나, 16진수로 변환하여 해시 값을 생성하는 방식입니다. 폴딩법과는 다르게 숫자의 기수만을 변환하는 방식이기 때문에 문제에서 묻는 방식과는 다릅니다.
④ 숫자분석법 (Digit Analysis Method)
- 틀립니다. 숫자분석법은 주어진 숫자의 자릿수를 분석하여 해시 값을 계산하는 방법입니다. 예를 들어, 숫자의 자릿수를 더하거나 특정 규칙에 맞게 처리하는 방식입니다. 그러나 폴딩법처럼 여러 부분으로 나누고 더하거나 XOR하는 방식과는 다릅니다.
결론 🎯
정답은 ❷ 폴딩법입니다.
폴딩법은 주어진 키를 여러 부분으로 나누고, 그 부분의 값을 더하거나 XOR하여 해시 값을 생성하는 방식이므로 문제의 설명에 정확히 맞습니다.
요약표 📝
보기 설명 맞/틀
① | 제산법: 키 값을 나누어 나머지를 사용하는 방법 | 틀림 |
❷ | 폴딩법: 키를 나누고, 더하거나 XOR한 값을 사용하는 방법 | 맞 |
③ | 기수변환법: 숫자의 기수를 변환하여 해시 값 구하는 방법 | 틀림 |
④ | 숫자분석법: 숫자의 자릿수를 분석하여 해시 값을 구하는 방법 | 틀림 |
정답: ❷ 폴딩법 😄
폴딩법은 키를 나누고, 각 부분을 더하거나 XOR하는 방식으로 해시 값을 계산하는 기법입니다. 이 기법을 잘 이해하고 있으면 해시 테이블을 사용할 때 효율적인 해싱을 할 수 있습니다. 추가 질문이 있으면 언제든지 물어보세요! 😊
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2020년 4회 정보처리기사 기출문제 40번 (0) | 2025.04.02 |
---|---|
2020년 4회 정보처리기사 기출문제 39번 (0) | 2025.04.02 |
2020년 4회 정보처리기사 기출문제 37번 (1) | 2025.04.02 |
2020년 4회 정보처리기사 기출문제 36번 (0) | 2025.04.02 |
2020년 4회 정보처리기사 기출문제 35번 (0) | 2025.04.02 |