해시 맵이란 무엇입니까?
컴퓨터 과학에서 해시 맵 또는 해시 테이블은 각 데이터 조각이 고유 한 식별 번호 또는 기호에 연결되도록 구조화 데이터 형식입니다. 이를 통해 특히 수천 개의 항목이 포함 된 대규모 데이터베이스에서 쉽게 검색 할 수 있습니다. 해시 맵은 프로그램의 특정 부분이 아니라 데이터베이스에서 키라고하는 각 항목을 해당 항목을 나타내는 값에 할당하는 데이터 구성 형식을 나타냅니다. 해시 함수는 키를 해당 값에 연결하는 프로그램의 일부입니다.
전화 번호부는 해시 맵의 훌륭한 예입니다. 전화 번호부가 배치되는 방식은 해시 맵 구조를 나타냅니다. 서로 다른 값을 서로 연결하고 하나의 값만 다른 해당 용어 또는 전화 번호에 연결하는 데 중점을 둡니다. 전화 번호부의 이름은 키이고 전화 번호는 해당 값입니다. 책에있는 모든 사람에게 다른 번호가 할당되고 두 사람이 같지 않습니다.
우체국 상자는 해시 맵에 대한 은유로도 사용됩니다. 모든 사람은 하나의 상자에 열쇠가 있습니다. 상자에는 청구서, 편지, 엽서와 같은 여러 정보가 상자에 열쇠가있는 개인을위한 것입니다. 올바른 키가 올바른 상자에 삽입되거나 일치하면 내용이 표시됩니다.
완벽하게 작동하는 해시 맵은 하나의 키를 컴퓨터 데이터베이스의 하나의 메모리 "박스"에 연결합니다. 불행히도 두 키가 같은 상자에 들어가는 해시 충돌이라는 요소가 발생할 수 있습니다. 이는 많은 양의 데이터가 입력되고이를 모두 수용 할 수있는 "상자"가 충분하지 않은 경우에 발생합니다.
전화 번호부 또는 우체국 상자와 달리 해시 맵에는 키와 일치하는 값 또는 상자 외에 세 번째 요소가 포함됩니다. 해시 함수도 포함되어 있습니다. 사람은 자신의 우체국 상자를 알고 있지만 컴퓨터에 어떤 키가 어떤 상자에 들어 있는지 알려 주어야합니다. 해시 함수는 키를보고 일련의 숫자 또는 코드로 변환 한 후 해당 코드가 포함 된 상자에 연결합니다. "Mary"와 같은 키 이름은 사람들이 이해하기 쉽도록 실제 코드는 컴퓨터가 읽을 수있는 문자열입니다.