목록CS/자료구조 (2)
성장기록지
Set이란?데이터를 저장하는 추상자료형이다.순서를 보장하지 않고, 데이터의 중복을 허용하지 않는다.데이터 조회속도가 List보다 빠르다. 자바에서의 Set자바에는 Hash Set, Linked Hash Set, Tree Set이 있다. 자주 쓰이는 Hash Set에 대해 중점적으로 살펴보자 Hash Set Hash Table을 사용하기 때문에, 크기 상관없이 데이터 조회가 빠르다.Hash Set은 어떻게 구현되어있나 살펴본다면, Hash Map을 사용하는것을 알 수 있다.따라서 자바에서는 HashMap과 HashSet은 동일하다고 볼 수 있다. Hash Set의 삽입Hash Set에서 데이터를 삽입(add)할때를 보자, 다음과 같이 Key값으로 e를 넣고, Value를 통해 PRESENT라는 객체를 넣..
Hash란?입력 데이터를 고정된 값으로 변환한 값이다. 해시 값이라고도 부른다.해시 값은 해시함수(hash function)에 의해서 얻게 된다.아래의 그림과 같은 방식으로 변환이 된다.이렇게 정수로 변환된 해시는 배열의 인덱스, 위치, 데이터 값을 저장하거나 검색할 때 활용된다. 해시 함수(Hash Function)란임의의 데이터를 고정된 길이의 값으로 리턴해주는 함수위에서 언급했듯이 해시 함수(Hash function)는 입력받은 데이터를 해시 값으로 출력시키는 알고리즘을 말한다. 해시 테이블(Hash Table)란배열과 해시 함수를 사용해서 map을 구현한 자료구조이다.일반적으로 상수시간에 접근하기 때문에 빠르다. 해싱(Hashing)이란?해싱은 해시 함수에서 해시를 출력하고, 해시 테이블에 ..