할 일
자료구조 블로그 글 읽기(~LinkedHashSet)
한 일
오늘은 먼저 LinkedHashSet까지 구현된 글을 봤다. Hash를 이용하는 HashSet, Hash와 Link를 이용한 LinkedHashSet에 대해서 학습했는데 해시 충돌에는 크게 Open Addressing, Separate Chaining가 있다고 한다.
Open Addressing은 해시 충돌시 빈 인덱스를 찾아서 채우는 방식이고
Separate Chaining은 연결리스트 형식으로 충돌 노드 다음으로 연결하는 방식이다.
자바에서는 Separate Chaining 방식을 채택하고 있다고 한다.
HashSet은 key(=value), hash, next(다음 노드)로 데이터를 저장하고
LinkedHashSet은 key(=value), hash, next(다음 노드) 그리고 순서 유지를 위한 prevLink, nextLink로 데이터를 저장한다.