퀵 정렬(Quick Sort)는 분할 정복 알고리즘으로 분류 되지만 정복 후 분할하는 알고리즘이다.

 

분할할때는 O(n)

합병 시 O(1)

분할 정복과 반대 이다.


퀵정렬은 피봇(pivot)이라는 배열의 원소(숫자)를 기준으로 피봇보다 작은 숫자들은 왼편, 피봇보다 큰 숫자들은 오른푠에 위치하도록 분할한다.


A[12] =ㅣ6ㅣ3ㅣ11ㅣ9ㅣ12ㅣ2ㅣ8ㅣ15ㅣ18ㅣ10ㅣ7ㅣ14ㅣ

 

피봇을 A[0]=6으로 선택했다고 해보자

 

ㅣ3ㅣ2ㅣ6ㅣ11ㅣ9ㅣ12ㅣ8ㅣ15ㅣ18ㅣ10ㅣ7ㅣ14ㅣ

 

피봇 6을 기준으로 6보다 작은것은 왼쪽에 , 6보다 큰것은 오른쪽에 가져다 놓았다.

'학교 공부 정리 > 컴퓨터 알고리즘' 카테고리의 다른 글

합병정렬  (0) 2019.05.01
1-2임의의 숫자 찾기  (0) 2019.05.01
1-1최대 숫자 찾기  (0) 2019.05.01

+ Recent posts