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.
Week12. Bucket Sort
O (n)
입력이 균등 분포라고 가정
버킷 단위로 나누고, 정렬해 잇자
입력의 범위가 균등한 입력 A n개의 버킷으로 나누어 정렬
입력이 균등하다면 버킷당 정렬 시간은
O(1)에 가까...
Bucket Sort Time Complexity & Pseudocode
1
2
3
4
O(n) 버킷 초기화
O(n) 해당하는 버킷에 원소 넣기
n * O(2-1/n) = θ(n) 버킷마다 삽입 정렬
O(n) 버킷들 잇...
Bucket Sort Kotlin
fun bucketSort(A: List<Double>) {
val size = A.size
val bucket = Array<ArrayList<Double>>(size) { Array...
Upcoming SlideShare
Loading in …5
×

Week12 bucket sort

10 views

Published on

bucket sort kotlin

Published in: Software
  • Be the first to comment

  • Be the first to like this

Week12 bucket sort

  1. 1. Week12. Bucket Sort O (n) 입력이 균등 분포라고 가정 버킷 단위로 나누고, 정렬해 잇자 입력의 범위가 균등한 입력 A n개의 버킷으로 나누어 정렬 입력이 균등하다면 버킷당 정렬 시간은 O(1)에 가까워 질 것이다
  2. 2. Bucket Sort Time Complexity & Pseudocode 1 2 3 4 O(n) 버킷 초기화 O(n) 해당하는 버킷에 원소 넣기 n * O(2-1/n) = θ(n) 버킷마다 삽입 정렬 O(n) 버킷들 잇기 θ(n) + n * O(2-1/n) = θ(n) (버킷별 원소 개수)2
  3. 3. Bucket Sort Kotlin fun bucketSort(A: List<Double>) { val size = A.size val bucket = Array<ArrayList<Double>>(size) { ArrayList() } A.forEachIndexed { index, t -> bucket[Math.floor(size.toDouble() * A[index]).toInt()] } bucket.forEach { it.insertionSort { d1, d2 -> d1 > d2 } } for(i in 1 until size) { bucket[0].addAll(bucket[i]) } }

×