계속 업데이트 예정
Java에서 사용하는 Collection 및 여러 자료구조들의 복잡도 요약입니다.
나를 포함한 모두가 기술면접 및 코딩테스트에서 편하게 활용할 수 있길 바라며..ㅎ
중복값을 허용하지 않는 특징을 가짐
HashSet<> set = new HashSet<>();
set.add(); // O(1)
set.contains(); // O(1)
next(); // O(h/n), h는 해시 버켓 사이즈 n은 데이터 사이즈
LinkedHashSet<> set = new LinkedHashSet<>();
set.add(); // O(1)
set.contains(); // O(1)
next(); // O(1)
LinkedHashSet<> set = new LinkedHashSet<>();
set.add(); // O(logn)
set.contains(); // O(logn)
next(); // O(logn)
key , value 형태로 구성된 entry 객체를 저장하는 자료구조
HashMap<T> map = new HashMap<>();
map.get(); // o(1)
map.containsKey(); // o(1)
map.next(); // O(h/n), h는 해시 버켓 사이즈 n은 데이터 사이즈
HashMap vs HashTable
Map<T> map = new LinkedHashMap<>();
map.get(); // o(1)
map.containsKey(); // o(1)
map.next(); // O(1)
Map<T> map = new TreeMap<>();
map.get(); // o(logn)
map.containsKey(); // o(logn)
map.next(); // O(logn)