'Bubble Sort'에 해당되는 글 1건

(편의상 알고리즘에는 간단히 배열을 적용한다. 그리고 인덱스는 0부터가 아닌 1부터 이다.)

선택정렬
● 선택된 값과 나머지 오른쪽에 있는 값들과 전부 비교해서
    제일 작은 값을 기억 하고 있다가 선택된 값과 제일 작은 값을 바꾼다.
n개의 값을 정렬 할때 걸리는 시간은 O(n2)

A = 선택한 값, B = 값이 저장된 배열, Min = 작은 값
i = 인덱스번호, MAX = 정렬할 값의 총 갯수
1. A에 1을 저장한다.
2. i에 A+1을 저장한다.
3. B[A]B[i]i의 값을 비교 한다.
4. B[i]의 값이 작으면 Mini를 저장한다.(위치를 기억)
5. iMAX가 같으면 B[Min]B[A]의 값을 바꾼다. 아니면 i1증가 시키고 3번으로 돌아간다.
6. A가 작으면 A1증가 시키고 2번으로 돌아간다.
7. A와 MAX가 같으면 알고리즘을 종료한다.
 
버블정렬
● 인접한 두개의 값을 비교 하며 정렬 해나가는 방법
n개의 값을 정렬 할때 걸리는 시간은 O(n2)

A = 선택한 인덱스, B = 값이 저장된 배열, MAX = 정렬할 값의 총 갯수

1. A1를 저장한다.
2. B[A]B[A+1]의 값을 비교한다.
3. B[A+1]이 작으면 B[A]B[A+1]의 값을 바꾼다.
4. AMAX-1 값을 비교한다.
5. A가 작으면 A를 1증가 시킨다.
6. 같으면 MAX값이 1과 같은지 비교한다.
7. 작으면 MAX값을 1감소 시키고, 1번으로 돌아간다.
8. 같으면 이 알고리즘을 종료한다.

삽입정렬
● 선택된 값의 왼쪽 값을 비교해서 작으면 자리를 바꾸고 크거나 같다면 종료한다.
n개의 값을 정렬 할때 걸리는 시간은 O(n2)

A = 시작한 인덱스, B = 값이 저장된 배열, MAX = 정렬할 값의 총 갯수
i = 선택된 인덱스, T = 임시 변수

1. A2로 초기화 한다.
2. iA를 저장하고 TB[A]를 저장한다.
3. T와 B[i-1]의 값을 비교한다.
4. T가 작으면 B[i]B[i-1]의 값을 저장하고, i값을 1감소 시키고, 3번으로 돌아간다. 
5. T가 같거나 크면 B[i]T값을 저장한다.
6. AMAX의 값을 비교한다.
7. A가 작거나 같으면 A1증가 시키고,  2번으로 돌아간다.
8. A가 크면 이 알고리즘은 종료 한다.



Posted by crownog
,