сортировка кусочков пифа и списков

Я пытаюсь сделать следующую проблему

Цель: Внедрение алгоритма quicheSort (не на месте). Сначала он использует quickSort с использованием срединной оси 3, пока не достигнет предела рекурсии, ограниченного int (math.log (N, 2)). Здесь N – длина исходного списка для сортировки. Как только он достигнет этого предела глубины, он переключится на использование heapSort вместо quicksort.

import heapSort # heapSort import qsPivotMedian3 from math import* # log2 (for quicksort depth limit) import testSorts # run (for individual test run) def quicheSortRec(lst, limit): """ A non in-place, depth limited quickSort, using median-of-3 pivot. Once the limit drops to 0, it uses heapSort instead. """ if len(lst) == 0: return lst() elif limit > 0: quickSort(lst) else: heapSort(lst) def quicheSort(lst): """ The main routine called to do the sort. It should call the recursive routine with the correct values in order to perform the sort """ if len(lst)== 0: return list() else: limit = float(log(len(lst),[2])) return quicheSortRec(lst,limit) if __name__ == "__main__": testSorts.run('quicheSort') 

Проблема, с которой я столкнулась с этим кодом, – мои ограничения. Я должен установить предел как int (log (N, [2])). Тем не менее, python продолжает говорить мне, что необходим float. Поэтому, когда я меняю int на float, он все еще продолжает говорить мне, что нужен float.

След –

 le "/Users/sps329/Desktop/quicheSort.py", line 44, in <module> testSorts.run('quicheSort') File "/Users/sps329/Desktop/testSorts.py", line 105, in run performSort(sortType, data, N) File "/Users/sps329/Desktop/testSorts.py", line 71, in performSort result = sortType.function(dataSet.data) File "/Users/sps329/Desktop/quicheSort.py", line 40, in quicheSort limit = float(log(len(lst),[2])) TypeError: a float is required 

One Solution collect form web for “сортировка кусочков пифа и списков”

  limit = float(log(len(lst),[2])) 

[2] – список из 1 элемента. Почему вы делаете 1-элементный список? Вам просто нужно 2 здесь. Я думаю, возможно, это должно было быть математическим обозначением для пола, но напольное покрытие 2 тоже не имеет большого смысла.

  • Python: как преобразовать список значений словарей в int / float из строки?
  • странное поведение со списком словарей в python
  • Python: сортировка списка с несколькими атрибутами и смешанным порядком
  • Как удалить почти дубликаты целых чисел из списка?
  • Замораживание в Python?
  • Нарезка списка на Python без создания копии
  • Как создать случайный список фиксированной длины значений из заданного диапазона?
  • и {} vs list () и dict (), что лучше?
  •  
    Interesting Posts for Van-Lav

    Python: двоичное преобразование в десятичное

    Проблема с sys.argv , когда модуль unittest находится в скрипте

    Selenium – Python – выпадающее меню

    Вложенный класс Python должен обращаться к переменной в классе

    Как использовать пример модели PTB от Tensorflow?

    Неправильная дата, связанная с ранним утром, соскоблила с веб-сайта погоды (Python) + только данные за январь?

    Ошибка в дате регистрации

    Обнаружение службы Python: реклама службы через локальную сеть

    Проверьте, находится ли элемент уже в очереди

    Groupby Pandas DataFrame и вычислить среднее значение и stdev одного столбца и добавить std в качестве нового столбца с параметром reset_index

    Странный многопроцессорный блок, импортирующий функцию Numba

    Как использовать словарь для обновления полей в моделях Django?

    Попытка запустить Google App Engine за прокси, полученные ошибки

    Оценка полиномиальных коэффициентов

    Ошибка Django CSRF с запросом POJ Ajax

    Python - лучший язык программирования в мире.