본문 바로가기

Computer/C/C++

정렬 (2)

* 퀵 정렬(Quick Sort)

분할 정복(Divide and Conquer)방식으로 속도가 빠른 알고리즘

교환 정렬의 일종으로 속도가 매우 빠르다.

기준 값(피벗)보다 큰 것을 오른쪽에 작은 것을 왼쪽으로 나누고 분할시켜

분할된 자료의 개수가 1일 때 까지 반복한다.

 

 

  


 

* 바이너리 서치(Binary Search)

퀵 정렬과 마찬가지로 분할 정복(Divide and Conquer)방식으로 속도가 빠른 알고리즘

임의로 중간값을 지정해주고 찾는값과 크고 작음을 비교해가며 찾는 방식

배열에 저장된 데이터는 정렬되어 있어야 한다.

 

 

찾고자 하는 값 = 4 일 경우

 

Low = 1

High = 9

Middle = 5            3 < 5 

 

Low = 1

High = 5

Middle = 3            4 > 3

 

Low = 3

High = 5

Middle = 4            4 = 4

 

end

 

'Computer > C/C++' 카테고리의 다른 글

포인터  (0) 2013.05.15
동적 할당  (0) 2013.05.14
정렬 (1)  (0) 2013.05.12
비행기 좌석 예약  (0) 2013.05.09
파일 입출력  (0) 2013.05.09