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

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

Цель: Внедрение алгоритма 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
  • Отображать случайный выбор (Python)
  • list extend () в индекс, вставляя элементы списка не только до конца
  • Сортировка списка объектов Python по дате (когда некоторые из них отсутствуют)
  • Python Список словарей только Смотрите последний элемент
  • Разделение на последний разделитель в строке Python?
  • Тип Python long vs C 'long long'
  • Установка IPython 0.12 на Windows 7 64
  • Если x является списком, то почему x + = "ha" работает, а x = x + "ha" выдает исключение?
  • Извлечение слов из строки, удаление знаков препинания и возврат списка с выделенными словами в Python
  • и {} vs list () и dict (), что лучше?
  •  
    Interesting Posts for Van-Lav

    Подключение к Geopandas PostGIS

    Регулярное выражение Python для поиска содержимого ссылок разметки MediaWiki

    Переименовать столбцы со специальными символами в фрейме python или Pyspark

    Использование scipy.spatial.Delaunay вместо встроенной версии matplotlib.tri.Triangulation

    wxPython: поиск ключевых событий по всему миру

    Как заменить повторяющиеся экземпляры символа одним экземпляром этого символа в python

    Зашифрованные и безопасные контейнеры докеров

    Импорт большой вкладки. Разделительный .txt-файл в Python

    Автоматически исполняемый файл python без открытия с терминала?

    Как вы развертываете приложения django для Windows?

    Поддерживает ли CMake Python3?

    Flask – inested rest api – использовать что-то другое, кроме метода, или я сделал плохой дизайн?

    Python, Tkinter: как я могу предотвратить сбой tlinter gui mainloop с помощью потоковой передачи

    InvalidRequestError: VARCHAR требует длины на диалекте mysql

    Есть ли способ сделать асинхронный вызов функции из Python ?

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