Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
sorting
아꿈사
정렬은 무엇인가?
• 리스트의 항목들을 특정한 순서에 따라 배열하는 것
• 오름차순 내림차순
분류
• 교환횟수
• 메모리 사용
• 재귀
Bubble sort
• 첫번째 부터 마지막까지 비교
• 비교 후, 값을 교환
• 평균 시간복잡도 : O(n^2)
• 공간복잡도 : O(1)
Bubble sort
int i;
int j;
int temp;
for(i=0; i<len; i++){
for(j=0; j<len-1; j++){
if(arr[j] > arr[j+1]){
int temp=arr[j];
...
Selection sort
1. 리스트에서 최소 값을 찾는다. 인덱스를 저장.
2. 현재 위치의 값과 최소 인덱스를 교환
3. 전체 배열이 정렬될 때까지 반복
평균 시간복잡도 : O(n^2)
공간복잡도 : O(1)
Selection sort
int i;
int j;
int temp;
int min;
for(i=0; i<len; i++){
min=i;
for(j=i; j<len; j++){
if(arr[j]<arr[min])
min...
Insertion sort
• 내가 누울 자리를 찾아서 눕는(?) 정렬
• 평균 시간복잡도 : O(n^2)
• 공간복잡도 : O(1)
Insertion sort
• 내가 누울 자리를 찾아서 눕는(?) 정렬
Insertion sort
int i;
int j;
int p;
int temp;
for(i=1; i<len; i++){
p = arr[(j=i)];
while( --j >=0 && p <arr[j]) arr[j+1] ...
Upcoming SlideShare
Loading in …5
×

정렬(버블정렬,선택정렬,삽입정렬)

2,463 views

Published on

sorting
sort
insert sort
selection sort
insertion sort
bubble sort
아꿈사

Published in: Education
  • Be the first to comment

정렬(버블정렬,선택정렬,삽입정렬)

  1. 1. sorting 아꿈사
  2. 2. 정렬은 무엇인가? • 리스트의 항목들을 특정한 순서에 따라 배열하는 것 • 오름차순 내림차순
  3. 3. 분류 • 교환횟수 • 메모리 사용 • 재귀
  4. 4. Bubble sort • 첫번째 부터 마지막까지 비교 • 비교 후, 값을 교환 • 평균 시간복잡도 : O(n^2) • 공간복잡도 : O(1)
  5. 5. Bubble sort int i; int j; int temp; for(i=0; i<len; i++){ for(j=0; j<len-1; j++){ if(arr[j] > arr[j+1]){ int temp=arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } }
  6. 6. Selection sort 1. 리스트에서 최소 값을 찾는다. 인덱스를 저장. 2. 현재 위치의 값과 최소 인덱스를 교환 3. 전체 배열이 정렬될 때까지 반복 평균 시간복잡도 : O(n^2) 공간복잡도 : O(1)
  7. 7. Selection sort int i; int j; int temp; int min; for(i=0; i<len; i++){ min=i; for(j=i; j<len; j++){ if(arr[j]<arr[min]) min = j; } temp = arr[min]; arr[min] = arr[i]; arr[i] = temp; }
  8. 8. Insertion sort • 내가 누울 자리를 찾아서 눕는(?) 정렬 • 평균 시간복잡도 : O(n^2) • 공간복잡도 : O(1)
  9. 9. Insertion sort • 내가 누울 자리를 찾아서 눕는(?) 정렬
  10. 10. Insertion sort int i; int j; int p; int temp; for(i=1; i<len; i++){ p = arr[(j=i)]; while( --j >=0 && p <arr[j]) arr[j+1] = arr[j]; arr[j+1] = p; }

×