Не забудьте проверить тривиальные/граничные случаи (например, пустой список). Вы можете использовать функцию make_rand_int_list (приведенную ниже) для генерации случайных списков целых чисел. Возможно, вы захотите генерировать случайные размеры для своих списков, в этом случае используйте такой код, как:
random_length = randint(min_length, max_length)
Ожидаемый код. Ожидается, что вы предоставите краткие, четко написанные тесты с хорошо оформленными распечатками (чтобы показать представителю). Ожидается, что вы будете использовать функцию is_sorted в своих тестах. (Вы не получите оценок, если используете в своем коде библиотечные/встроенные функции сортировки или методы, такие как sorted.)
def Quicksort(list_part):
if len(list_part) > 1:
pivot = list_part[0]
lower = [x for x in list_part if x < pivot]
higher = [x for x in list_part if x > pivot]
equal = [pivot]
lower = quicksort(lower)
higher = quicksort(higher)
list_part = lower + equal + higher
return list_part
def fastsort_test():
test_cases = [
([],[]),
([1],[1]),
([1,2,3,4,5,6,7], [1,2,3,4,5,6,7]),
([5,4,3,2,1,], [1,2,3,4,5]),
([9,12,13,15,8,11,10,14], [8,9,10,11,12,13,14,15]),
([1,4,2,3,4,5,6,5], [1,2,3,4,4,5,5,6]),
]
def lists_are_equal(list1, list2):
if len(list1) != len(list2):
возвращает False
для i в диапазоне( len(list1)):
if list1 != list2:
возвращает False
возвращает True
def is_sorted(num_list) :
для i в диапазоне(len(num_list) - 1):
если num_list > num_list[i+1]:
возвратить False
return True
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-in-build
Как создать функцию, которая проверяет функцию быстрой сортировки без использования функций сборки? На Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему мой метод параллельной быстрой сортировки медленнее последовательного метода?
Anonymous » » в форуме C# - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-