kevin6423   3년 전

안녕하세요, quick sort를 통해 주어진 회의시간을 끝나는 시간 순으로 정렬하고, 정렬된 시간 순으로 앞에서부터 뽑으며 최대한 많은 회의시간을 counting 하려고 했습니다. quick sorting 할때 pivot의 index는 random하게 뽑아 시간 복잡도를 최소화하려고 했고, compare이라는 함수를 정의하여 끝나는 시간 순으로 정렬하되 끝나는 시간이 같다면 시작 시간이 빠른 것이 앞으로 가도록 정렬하였습니다.

정렬 알고리즘은 작동하는 것을 디버깅하면서 확인했는데 계속 시간초과가 뜨네요. 소스코드가 매끄럽지 못하여 어딘가에서 무한 루프가 발생하는건지도 모르겠습니다. 도움 부탁드리겠습니다.

kevin6423   3년 전

func의 함수에서 항상 n번 비교하다 보니 최악의 경우 O(n^2)의 시간 복잡도가 나올 수 있네요...질문올리면서 최악의 경우 따져보다가 깨달았습니다ㅠㅠ

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