옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내는 것!
1회전 했을 때 가장 큰 값이 가장 뒤로 간다!
9번 라인에서 9-i를 해주는 이유는 1회전 할 때 10부터 3까지 다 비교를 하고
그 다음 9까지 8까지 이렇게 끝에서부터 하나씩 줄기 때문이다.
11번부터 13번 라인은 선택과 똑같이 서로의 위치를 교환해주는 알고리즘이다.
버블정렬도 선택과 마찬가지로
데이터 개수가 N개 일때 N * (N+1)/2이다
따라서 O(N^2) 이다.
그러나 빅오표기법은 똑같지만 버블정렬은 선택정렬보다 오래걸린다.
그 이유는 11번에서 13번 라인을 계속 비교하기 때문에 수행시간이 선택정렬보다 더 걸린다.
따라서 가장 비효율적인 알고리즘이라 할 수 있다.
728x90
'알고리즘' 카테고리의 다른 글
C++STL sort()함수 (0) | 2021.11.02 |
---|---|
병합 정렬(Merge Sort) (0) | 2021.11.01 |
퀵 정렬 (0) | 2021.10.30 |
삽입정렬 (0) | 2021.10.30 |
선택정렬 (0) | 2021.10.29 |
댓글