hash

    C++ 해시(Hash)의 의미 그리고 구현

    3명의 사람 (김연아, 손흥민, 서장훈) 이 위와 같이 부탁을 했다. 그리고 이러한 기능을 C++ 를 사용해서 구현해달라고 했다. 파이썬과 다르게, 기본적으로 C++ 에서는 이런 기능을 지원하지 않는다. 어떻게 가장 효율적이고, 빠른 자료구조가 될 수 있을까? 답은, 각각의 이름(텍스트)에 대해서, 유일한 Key 값을 가지게 하는 것이다. 만들어진 Key 값을 이용해서 자료에 접근한다면 O(1) 시간만에 접근할 수 있다. 해시(Hash)의 동작원리 해시에서 Key를 생성하기 위한 다양한 알고리즘이 존재한다. MD-5나 SHA이 그 유명한 해시 알고리즘 중 하나이다. 우리는 학습을 목표로, 문자열을 통해서 간단한 해시를 만드는 방법을 알아본다. 'apple' 이라는 문자열이 주어졌다고 가정하고 Key를 만..