피봇을 항상 앞에서 잡지 말고 랜덤한 값으로 잡아보세요
정렬된 상태로 들어온다면 O(N^2)으로 작동할 것 같습니다.
11650번 - 좌표 정렬하기
시간이 꽤나 오래되어 보실지 모르겠으나....
일단 cin과 cout의 속도를 높이기위해 main에 한줄 선언하였습니다. 또한 줄바꿈 endl은 속도가 느려 '\n'으로 변경하였습니다.
그리고 pivot 잡으실때 배열중에 무작위로 3개 고르고 난뒤 이중에 중간값을 pivot으로 잡으면 좋은 성능이 나옵니다.
괜히 random함수 호출해서 시간 또 잡아먹을 필요가 없죠. 코드 살짝만 바꾸니 잘 실행되고 통과하였습니다.
객체지향으로 너무 잘 푸셔서 저도 코드 보고 배워갑니다....
댓글을 작성하려면 로그인해야 합니다.
htj889 6년 전
점의 개수만큼 입력받고
점의 개수만큼 배열을 동적할당 한 다음에 배열의 맨 앞부터 순서대로 점의 값을 입력받습니다.
그리고 나서 퀵 정렬을 합니다.