Skip to content

Commit

Permalink
fix sort/radix_sort (keon#395) (keon#397)
Browse files Browse the repository at this point in the history
* fix sort/radix_sort (keon#395)

* Add a new line for radix_sort.py
  • Loading branch information
InnoFang authored and keon committed Sep 4, 2018
1 parent cdae90c commit f5fec12
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions algorithms/sort/radix_sort.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,21 @@
"""
radix sort
complexity: O(nk) . n is the size of input list and k is the digit length of the number
complexity: O(nk + n) . n is the size of input list and k is the digit length of the number
"""
def radix_sort(arr, simulation=False):
is_done = False
position = 1
max_number = max(arr)

iteration = 0
if simulation:
print("iteration",iteration,":",*arr)
print("iteration", iteration, ":", *arr)

while not is_done:
while position < max_number:
queue_list = [list() for _ in range(10)]
is_done = True

for num in arr:
digit_number = num // position % 10
queue_list[digit_number].append(num)
if is_done and digit_number > 0:
is_done = False

index = 0
for numbers in queue_list:
Expand All @@ -28,7 +25,8 @@ def radix_sort(arr, simulation=False):

if simulation:
iteration = iteration + 1
print("iteration",iteration,":",*arr)
print("iteration", iteration, ":", *arr)

position *= 10
return arr

0 comments on commit f5fec12

Please sign in to comment.