오버헤드1 HashSet의 contains보다 if가 더 빠를 수도 있다. (LeetCode. 1456) 리트코드 문제Intuition해당 문자(char)가 모음(a,e,i,o,u)인지 확인하는 코드가 있었다.처음에는 모음을 가지고 있는 HashSet을 만들어 contains 메소드를 통해 O(1)의 속도로 모음이 존재하는 지 곧바로 확인하는 방식을 떠올렸다. 최악의 경우 영어의 모음 5개를 모두 확인하는 것보다 바로 해시값으로 해시테이블에 접근하여 한번에 데이터 유무(존재한다면 모음)을 판단하는 것이 더 빠르지 않을까라고 생각했기 때문이다. if의 O(5)보다 HashSet의 contains의 O(1)가 더 느리다.? 하지만, if를 활용하여 쇼트서킷 없이 모든 모음을 모두 순환하여 확인하는 경우보다 HashSet을 생성하여 contains여부를 확정적으로 한번 가져오는 동작이 더 긴 것으로 보인다. 이는.. 2024. 9. 20. 이전 1 다음