반응형
버블정렬
일반적인 정렬
앞과 뒤를 비교해서 순차적으로 계속 비교해 나가는 모습이 거품이 일어나는 모습에 비유되어 버블정렬이다
O(n2)의 성능을 보인다
버블정렬 구현
이중for문으로 구현한다
for문 한 사이클 돌 때마다 제일 큰 수는 맨 뒤로 간다
python
선택정렬
정렬순서상 가장 앞서는 것을 찾아서 왼쪽에 정렬
원래 정렬에 필요한 별도의 메모리 공간이 필요하지만
위치 교환이 좀 더 효율적이다
O(n2)의 성능을 보인다
선택정렬 구현
이중for문으로 구현한다
for문 한 사이클 돌 때마다 제일 작은 데이터부터 정렬 된다
python
삽입정렬
정렬된 부분과 정렬이 되지않은 부분을 나눠서 정렬된 부분에 정렬이 안된 데이터를 하나씩 뽑아 정렬된 부분의 위치를 찾아 삽입하는 정렬
위치 교환이 아닌 정렬된 부분을 한 칸씩 뒤로 밀면서 삽입할 위치를 찾는다
O(n2)의 성능을 보인다
삽입정렬 구현
이중for문으로 구현한다
for문 한 사이클 돌 때마다 한 데이터의 삽입위치를 찾아 그 위치에 삽입되어 정렬된다
python
반응형
'프로그래밍 > 자료구조, 알고리즘' 카테고리의 다른 글
[알고리즘]너비우선탐색(BFS) (0) | 2022.08.11 |
---|---|
[알고리즘]깊이우선탐색(DFS) (0) | 2022.08.08 |
[자료구조]이진탐색트리 (0) | 2022.07.29 |
[자료구조]그래프 (0) | 2022.07.25 |
[자료구조]힙(Heap), 우선순위 큐 (0) | 2022.07.22 |