자료구조
-
[자료구조] 해싱, 해시 함수, 해시맵 이란?자료구조 2021. 5. 30. 00:34
이번 글에서는 해싱(hasing)에 대한 개념과 Java에서 사용하는 자료구조인 HashMap을 알아보겠습니다. 개념 (concepts) 해시 함수(hash function)란 데이터의 효율적인 관리를 목적으로 임의의 길이를 가진 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다. 이때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시(hash) 또는 해시 코드(hash code)라고 합니다. 이렇게 매핑하는 과정을 해싱(hasing)이라고 합니다. 사실 앞에서 언급한 임의의 길이를 가진 데이터인 키(key)는 그 종류가 무한대에 가깝지만 해시 함수를 통해 매핑된 해시(hsah)는 정수형 데이터이기 때문에 그 값이 유한합니다. 이 말은 해싱을 하다 보면 서로 다른 키(key)가 같..
-
[자료구조] 배열(Array) 이란?자료구조 2021. 5. 20. 20:46
자료 구조의 기본이 되는 배열과 배열을 다루기 위한 ArrayList를 알아봅니다. 배열 (Array) 배열이란? 배열은 연관된 데이터를 모아서 관리하기 위해서 사용되는 데이터 타입입니다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있습니다. 배열 생성 및 사용하기 String[] fruits = new String[4]; 자바 프로그램에서 위 코드로 배열을 생성하면 컴퓨터는 메모리에 크기 4 만큼의 공간을 할당해서 사용자가 사용할 수 있도록 합니다. 1000 1001 1002 ... null [0] null [1] null [2] null [3] ... 1031 배열은 메모리상에 고정된 크기의 연속된 공간을 갖기 때문에 한 번 생성된 배열의 ..