[Data Structures] Hash 파해치기 (Hash Table, HashMap, HashSet)
·
Algorithm & Data Structures/Data Structures
· 들어가며코딩테스트에서 가장 많이 사용하는 자료구조 중 하나가 바로 Hash입니다. 특히 다음 같은 상황에서 거의 필수적으로 사용해야 합니다. 특정 값이 존재하는지 빠르게 확인해야 할 때문자열이나 숫자의 개수를 세야 할 때중복을 제거해야 할 때방문 여부를 저장해야 할 때Java에서는 이러한 기능을 위해 HashMap과 HashSet을 주로 사용합니다. 그렇다면 HashMap은 왜 빠를까요? 이를 이해하려면 먼저 Direct Address Table이라는 개념부터 살펴봐야 합니다.· Direct Address TableDirect Address Table(직접 주소화 테이블)은 Key를 그대로 배열의 Index로 사용하는 자료구조입니다. 예를 들어 출석번호와 이름을 저장한다고 해보겠습니다.출석 번호이름2..