반응형
버블 정렬
- 두 인접한 데이터의 크기를 비교해 정렬하는 방법
- 루프를 돌면서 인접한 데이터 간의 swap 연산으로 정렬
- 시간복잡도 O(n^2)
- 정렬 과정
1) 비교 연산이 필요한 루프 범위를 설정
2) 인접한 데이터 값을 비교
3) swap 조건에 부합하면 swap 연산 수행
4) 루프 범위 끝날 때까지 2~3을 반복
5) 정렬 영역 설정, 다음 루프 실핼할 때 해당 영역 제외
6) 비교 대상이 없을 때까지 1~5를 반복
선택 정렬
- 대상 데이터에서 최대나 최소 데이터를 데이터가 나열된 순으로 찾아가며 선택하는 방법시간복잡도 O(n^2)
- 시간복잡도 O(n^2)
- 정렬 과정
1) 남은 정렬 부분에서 최솟값 또는 최댓값을 찾음
2) 남은 정렬 부분에서 가장 앞에 있는 데이터와 선택된 데이터를 swap
3) 가장 앞에 있는 데이터의 위치를 변경해(index++) 남은 정렬 부분의 범위를 축소
4) 전체 데이터 크기만큼 index가 커질 때까지, 즉 남은 정렬 부분이 없을 때까지 반복
ref)
정렬 알고리즘(sorting algorithm) - 버블 정렬(bubble sort)
정렬 알고리즘 n개의 숫자가 주어졌을때 이를 오름차순 / 내림차순으로 정렬하는 알고리즘다양한 알고리즘이 있으며, 알고리즘에 따라 시간 복잡도가 다르다 2. 버블 정렬(bubble sort) •정렬되지
0902.tistory.com
https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html
[알고리즘] 선택 정렬(selection sort)이란 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
반응형
'코테 준비 > Baekjoon Algorithm' 카테고리의 다른 글
[Day05 - 1377번] 버블 소트 (0) | 2024.02.13 |
---|---|
[Day05 - 2750번] 수 정렬하기 (0) | 2024.02.13 |
[이론] 트리 (1) | 2023.12.30 |
[백준(BOJ)] 10828번 C++ 풀이 (0) | 2022.02.27 |
[백준(BOJ)] 2750번 C++ 풀이 (0) | 2021.11.24 |