소스 검색

bucket sort added

pull/26/head
sjain 4 년 전
부모
커밋
1aaa2c78b7
1개의 변경된 파일35개의 추가작업 그리고 0개의 파일을 삭제
  1. +35
    -0
      sorting/bucketSort.py

+ 35
- 0
sorting/bucketSort.py 파일 보기

@ -0,0 +1,35 @@
def bucket_sort(alist):
largest = max(alist)
length = len(alist)
size = largest/length
buckets = [[] for _ in range(length)]
for i in range(length):
j = int(alist[i]/size)
if j != length:
buckets[j].append(alist[i])
else:
buckets[length - 1].append(alist[i])
for i in range(length):
insertion_sort(buckets[i])
result = []
for i in range(length):
result = result + buckets[i]
return result
def insertion_sort(alist):
for i in range(1, len(alist)):
temp = alist[i]
j = i - 1
while (j >= 0 and temp < alist[j]):
alist[j + 1] = alist[j]
j = j - 1
alist[j + 1] = temp
alist = [54,26,93,17,77,31,44,55,20]
print(bucket_sort(alist))

불러오는 중...
취소
저장