Как создать функцию, которая проверяет функцию быстрой сортировки без использования функций сборки? На PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создать функцию, которая проверяет функцию быстрой сортировки без использования функций сборки? На Python

Сообщение Anonymous »

Не забудьте проверить тривиальные/граничные случаи (например, пустой список). Вы можете использовать функцию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»