티스토리 뷰
첫번째 자리에 나머지 것들(1~6번쨰)중 최소값 넣는다.
두번째 자리에 나머지 것들(2~6번쨰)중 최소값 넣는다.
......
다섯번째 자리에 5~6번째 중 최소를 넣는다.
---> 즉 나머지것들 중에서 제일 작은 혹은 제일 큰 것을 선택해서 정해진 자리에 넣는것이 선택정렬
for(int i=0; i<n-1; i++)
{
int k=i;
for(int j=i; j<n; j++)
{
if(arr[j]<arr[k]) //k를 제일 첫번째수의 인덱스로 정해놓고 검색하면서 더작은게 나오면 k를 갱신
k=j;
}
//제일 작은 수 검색 했으면 arr[i]와 arr[k]를 교환해줌.
}
비교횟수 빅오 O(N2)
데이터 이동 빅오 O(N)
선택정렬과 버블정렬 데이터 이동 횟수 비교
최악의 경우 선택정렬 < 버블정렬 (선택정렬이 더 적게 데이터를 이동한다.)
->선택정렬은 최악이든 최선이든 데이터 이동은 O(N)임.
최선의 경우 버블정렬 < 선택정렬 (버블정렬이 더 적게 데이터를 이동한다.)
->버블정렬은 최선의 경우 데이터이동횟수 0
둘다 비교횟수는 차이가 없음!! 단지 데이터 이동 횟수에서 상황에 따라 차이가 날뿐이다.
'자료구조' 카테고리의 다른 글
[자료구조/선형자료구조](직선)큐와 원형큐 (1) | 2017.08.27 |
---|---|
[자료구조/선형자료구조]링크드리스트(연결리스트),스택 (0) | 2017.08.27 |
[자료구조/sort] 병합정렬 (Merge Sort) (0) | 2017.08.17 |
[자료구조/sort] 버블정렬 (0) | 2017.08.16 |
STL 벡터,리스트,덱 장단점비교 (0) | 2017.08.07 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- webpack
- react
- react hooks
- javascript
- Polyfill
- return type
- reactdom
- type alias
- async
- storybook
- await
- Babel
- reflow
- computed
- useEffect
- useRef
- es6
- props
- state
- reducer
- promise
- Action
- typescript
- design system
- hydrate
- mobx
- server side rendering
- atomic design
- rendering scope
- Next.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함