딕셔너리는 해시맵 형식이니 O(n)까지는 안 가지 않나요....?
지식이 일천하다보니 지금까지 해시맵 형식인줄 알고 있었네요...
그리고 해봤는데 안되네요 ㅠㅠ
제가 어디 다른 곳을 잘못했나 봅니다 ㅠㅠ
더 나음 코드를 위한 조언에 감사드립니다
4195번 - 친구 네트워크
딕셔너리 해시맵형식이 맞고 평균 O(1), 최악(충돌이 많은 경우)의 경우 O(n)입니다.
54번째 코드부터 현재 merge하면서 할 수 있는 행위를 하는 코드같은데, 보통 다른 배열 하나를 만들어서 집합의 크기를 저장해주고 merge시에 변화시켜줍니다.
현재 코드에서는 count연산에서 O(n)이 소요되고, 관계가 100,000까지 들어올 수 있는데 매번 O(n)의 연산을 하기에 시간초과가 발생합니다.
댓글을 작성하려면 로그인해야 합니다.
grapecw 3년 전
일단 생각나는건 대 해봤는데 시간 초과가 뜨네요.
문자열 비교는 오래 걸릴거 같아서 딕셔버리로 번호를 부여해서 탐색을 빠르게 했고,
안 바뀐것은 한번에 찾기 위해서 index로 찾고 있고,
한쪽으로 높이가 쏠리지 않기 위해 교환도 해줬는데 시간 초과가 나네요...
혹시 시간 복잡도를 개선하기 위한 더 좋은 방법이 있다면 알려 주실 수 있으십니까?