кодесурса
«Python

Структуры и алгоритмы данных Python: сортировка списка элементов с использованием сортировки Radix

script1adsense2code
script1adsense3code

Поиск и сортировка Python: упражнение 19 с решением

Напишите программу на Python для сортировки списка элементов с использованием сортировки Radix.
Согласно Википедии «В компьютерной науке радикальная сортировка представляет собой не сравнительный алгоритм целочисленной сортировки, который сортирует данные по целочисленным ключам путем группировки ключей по отдельным цифрам, которые имеют одинаковые значимые позиции и значения».


Пример решения :

Код Python:

def radix_sort(nums):
    RADIX = 10
    placement = 1
    max_digit = max(nums)
    while placement < max_digit:
      buckets = [list() for _ in range( RADIX )]
      for i in nums:
        tmp = int((i / placement) % RADIX)
        buckets[tmp].append(i)
      a = 0
      for b in range( RADIX ):
        buck = buckets[b]
        for i in buck:
          nums[a] = i
          a += 1
      placement *= RADIX
    return nums
user_input = input("Input numbers separated by a comma:\n").strip()
nums = [int(item) for item in user_input.split(',')]
print(radix_sort(nums))

Пример вывода:

 Введите числа, разделенные запятой:
 15, 79, 25, 68, 37
[15, 25, 37, 68, 79]

Блок - схема:

«Блок-схема:

Редактор кода Python:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Python для сортировки списка элементов, используя сортировку Pancake.
Далее: Напишите программу на Python для сортировки списка элементов, используя сортировку Selection.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code