Java/알고리즘 (4) 썸네일형 리스트형 퀵 정렬(Quick Sort) 동빈나 실전 알고리즘 강좌(Algorithm Programming Tutorial) 참고 https://www.youtube.com/playlist?list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz 실전 알고리즘 강좌 (Algorithm Programming Tutorial) www.youtube.com 퀵 정렬(Quick Sort) 특정한 값(피벗)을 기준으로 큰 숫자와 작은 숫자를 나누자 피벗(Pivot) : 퀵 정렬에서의 기준 값, 보통 첫 번째 원소를 피벗값으로 지정 하나의 큰 문제를 두 개의 작은 문제로 분할하는 방식으로 빠르게 정렬 ▶ 분할 정복 알고리즘의 대표적 예 평균 시간 복잡도 : O(N*logN) 최악의 시간 복잡도 : O(N^2) 분할 정복의 이점을 사용하지 못.. 삽입 정렬(Insertion Sort) 동빈나 실전 알고리즘 강좌(Algorithm Programming Tutorial) 참고 https://www.youtube.com/playlist?list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz 실전 알고리즘 강좌 (Algorithm Programming Tutorial) www.youtube.com 삽입 정렬(Insertion Sort) 각 숫자를 적절한 위치에 삽입하자 다른 정렬방식들은 무조건 위치를 바꾸는 방식이었다면 삽입 정렬은 필요할 때만 위치를 바꿈 시간 복잡도 : O(N^2) 시간 복잡도는 선택 정렬, 버블 정렬과 같으나 거의 정렬된 상태라면 삽입 정렬이 훨씬 효율적으로 동작 만약 1 5 10 8 ... 의 숫자가 있고, 8의 위치를 결정할 경우라면 8은 _1_5_1.. 버블 정렬(Bubble Sort) 동빈나 실전 알고리즘 강좌(Algorithm Programming Tutorial) 참고 https://www.youtube.com/playlist?list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz 실전 알고리즘 강좌 (Algorithm Programming Tutorial) www.youtube.com 버블 정렬(Bubble Sort) 옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내자 시간 복잡도 : O(N^2) 시간 복잡도는 선택 정렬과 같으나 더 비효율적 => 선택 정렬은 가장 작은 하나의 값을 찾아서 맨 앞의 값과 한 번씩 교환하지만 버블 정렬의 경우 서로 값을 교환하는 코드가 더 많이 실행되기 때문 정렬 알고리즘 중 가장 느린 알고리즘 = 버블 정렬 알고리즘 첫 번째 요.. 선택 정렬(Selection Sort) 동빈나 실전 알고리즘 강좌(Algorithm Programming Tutorial) 참고 https://www.youtube.com/playlist?list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz 실전 알고리즘 강좌 (Algorithm Programming Tutorial) www.youtube.com 선택 정렬(Selection Sort) 가장 작은 것을 선택해서 제일 앞으로 보내자 순차적으로 숫자를 하나씩 읽어가면서 가장 작은 수를 저장한시가 뒤 앞의 큰 숫자와 자리를 바꾸면서 정렬하는 알고리즘 시간 복잡도 : O(N^2) package algorithmProgramming; public class SelectionSort { public static void main(Stri.. 이전 1 다음