목록선택정렬 (2)
욤미의 개발일지
1. 선택 정렬 현재 위치에 들어갈 값을 찾아서 바꾸는 정렬 알고리즘 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복한다. 동작 예시 초기 데이터: 7 5 9 0 3 1 6 2 4 8 [step 1] 처리되지 않은 데이터(1~10) 중 가장 작은 '0'을 선택해 가장 앞에 있는 '7'과 바꾼다. → '0' 정렬 완료 [step 2] 정렬된 데이터를 제외하고 처리되지 않은 데이터(2~10) 중 가장 작은 '1'을 선택해 가장 앞에 있는 '5'와 바꾼다. → '0', '1' 정렬 완료 [step 3] 정렬된 데이터를 제외하고 처리되지 않은 데이터(3~10) 중 가장 작은 '2'를 선택해 가장 앞에 있는 '9'와 바꾼다. → '0', '1', '2' 정렬 완료 ..
CHAPTER 6. 정렬 데이터를 특정한 기준에 따라 순서대로 나열하는 것 일반적으로 문제 상황에 따라서 적절한 알고리즘이 공식처럼 사용된다. ex) 데이터의 개수가 적을 때, 데이터 개수가 많더라도 데이터 범위가 한정적일 때, 이미 정렬되어 있는 경우 등... 사람은 직관적으로 데이터를 파악하고 계산할 수 있지만 컴퓨터는 정렬을 어떻게 수행할지 알고리즘을 구체적으로 명시해야한다. 선택정렬 삽입정렬 합병정렬 퀵정렬 계수정렬 Best Avg Worst Stable In-Place 삽입 정렬(Insertion Sort) N N² N² O O 거품 정렬(Bubble Sort) N² N² N² O O 선택 정렬(Selection Sort) N² N² N² X O 퀵 정렬(Quick Sort) NlogN Nlog..