daum0604   1년 전

퀵정렬을 이용해 보았는데 시간초과가 왜 뜨는지 모르겠습니다 ㅠ

bamgoesn   1년 전

퀵정렬은 거의 다 정렬된 배열에서 한쪽으로 치우친 값을 pivot으로 잡아버리기 때문에, 시간복잡도가 O(N^2)이 됩니다. 또한, pivot을 잡고 구간을 나눌 때마다 재귀를 들어가기 때문에, 파이썬의 경우엔 재귀깊이 제한에도 걸립니다.

이 문제에서 좌표의 개수는 최대 100,000개이기 때문에, 순수한 퀵정렬을 사용하면 곤란합니다. 아래 코드로 생성되는 입력을 한번 넣어보세요.

daum0604   1년 전

아 감사합니다 재귀깊이 제한을 간과하고 있었네요

댓글을 작성하려면 로그인해야 합니다.