[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

21
2016.11.26 3 주주 Radix sort Counting sort Bucket sort

Upload: codingclub

Post on 12-Apr-2017

130 views

Category:

Education


0 download

TRANSCRIPT

Page 1: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2016.11.26

3 주차

Radix sort

Counting sort

Bucket sort

Page 2: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting( 기수 정렬 )

• 분배 방식의 정렬 방법

• 정렬할 원소의 키 값에 해당하는 버킷에 원소를 분배하였다가 버킷의 순서대로 원소를 꺼내는 방법을 반복해서 정렬하는 방법

Page 3: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting (1 단계 )

Page 4: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting

Page 5: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting(2 단계 )

Page 6: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting

Page 7: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting in C

Page 8: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

1.Radix Sorting in C

Page 9: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting( 계수 정렬 )(1) 배열 내에 최댓값을 배열의 길이로 하는 새로운 버켓을 만든다 .

(2) 배열의 각 값들을 인덱스로 하여 버켓 배열에 그 수를 카운팅한다 . (3) 낮은 인덱스부터 출력을 하면 정렬된 결과를 얻을 수 있다 .

Page 10: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting(1)

Page 11: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting(1)

Page 12: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting(1)

Page 13: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sort in C

Page 14: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting in C

Page 15: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting in C

Page 16: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

2.Counting Sorting in C

Page 17: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

3.Bucket Sorting• 계수 정렬은 키 값이 작은 범위 안에 들어올 때 적용 할 수 있는 방법이지만 버킷 정렬은 키 값의 범위뿐만이 아니라 그 범위 내에서 키 값이 확률적으로 균등하게 분포된다고 가정할 수 있을 때 적용할 수 있는 방법 • 설명의 편의상 키 값이 0 과 1 사이라고 가정하자 . n 개의 키가 구간 [0,1] 을 n 등분하고 이들 각각을 하나의 버킷으로 한다 . 각 키를 크기에 따라 각 버킷에 분배한다면 , 키가 구간 내에서 균등하게 분포한다고 가정했으므로 하나의 버킷에는 하나의 키만 들어있을 확률이 높음

Page 18: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

3.Bucket Sorting• 배열 A : 0.86,  0.32,  0.27,  0.12,  0.49,

 0.21,  0.62,  0.89,  0.71,  0.87 • ① 10 개의 데이터가 있다고 하면 구간 크기가

0.1 인 10 개의 버킷을 만든다 . • ② A 의 각 원소 값에 따라 적절한 버킷에 넣고 같은 버킷에 들어갈 값은 그림 (a) 와 같이 연결 리스트에 의해 연결시킨다 .• ③ 다음은 각 리스트 B[i] 에 대하여 삽입 정렬을 행한다 . 그 결과는 그림 (b) 와 같다 .

Page 19: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

3.Bucket Sorting

Page 20: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

3.Bucket Sorting in C

Page 21: [알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬

3.Bucket Sorting in C