hash
-
[Java] Hash, HashMapProgramming/Java 2019. 12. 31. 16:51
Hash의 개요 설명에 앞서 배열은 인덱스를 이용하여 자료의 검색이 한 번에 이루어지기 때문에 빠른 검색 속도를 가지는 장점이 있지만, data의 추가/삭제에 있어서는 데이터가 이동해야 하기 때문에 많은 시간이 소요된다. 연결리스트는 데이터의 추가/삭제시 노드의 참조값만 수정해 줌으로써 빠른 처리가 가능하다. 그러나 데이터를 검색할 때는 해당 노드를 찾기 위하여 일일이 탐색을 해야하기 때문에 데이터의 수가 많아질수록 효율이 떨어지는 구조이다. 이러한 한계를 극복하기 위하여 제시된 방법이 바로 Hash이다. Hash의 기본 개념 Hash는 내부적으로 배열을 사용하기 때문에 배열의 장점인 빠른 검색 속도를 갖는다. 또한 데이터의 추가/삭제시 이루어지는 비효율적인 이동을 극복할 수 있도록 특별한 알고리즘을 이..