정렬 알고리즘 개념
- 데이터를 특정 기준에 따라 순서대로 나열하는 기법
- 검색 효율성 향상, 데이터 중복 관리, 알고리즘 성능 향상, 데이터 분석 및 시각화
버블정렬, 삽입정렬, 퀵정렬 개념
버블정렬 개념
구분 | 내용 |
---|
개념도 | 2 <-4-> 3 5 |
개념 | 두 인접요소를 비교하고 필요시 치환 |
시간복잡도 | 평균 O(n2), 최상 O(n) |
삽입정렬 개념
구분 | 내용 |
---|
개념도 | 2->4 3 5 |
개념 | 리스트 요소를 하나씩 탐색하여 비교 후 올바른 위치에 삽입 |
시간복잡도 | 평균 O(n2), 최상 O(n) |
퀵정렬 개념
구분 | 내용 |
---|
개념도 | 2 <-4 pivot-> 3 5 |
개념 | 피벗을 기준으로 리스트를 분할 후 각각 정렬한 뒤 결합 |
시간복잡도 | 최악 O(n2), 평균 O(nlogn) |
버블정렬, 삽입정렬, 퀵정렬 비교
구분 | 버블정렬 | 삽입정렬 | 퀵정렬 |
---|
시간복잡도 | O(n2) | O(n2) | O(nlogn) |
공간복잡도 | O(1) | O(1) | O(logn) |
안정성 | 안정적 | 안정적 | 불안정 |
구현난이도 | 쉬움 | 쉬움 | 어려움 |
사용사례 | 소량 데이터 | 거의 정렬된 소량 데이터 | 대량 데이터 |
정렬 알고리즘 고려사항
- 어셈블리로 컴파일 후 AI를 활용하여 기계어의 병렬성을 최적화, 추가 정렬 성능 확보