Объяснение алгоритма разделения ХоараPython

Программы на Python
Ответить
Anonymous
 Объяснение алгоритма разделения Хоара

Сообщение Anonymous »

В соответствии с псевдокодом, представленным на многих веб-сайтах, я написал этот алгоритм секционирования Хоара, который принимает массив, начальный и конечный индексы подмассива для разделения на основе заданного опорного элемента. Он работает нормально, но может ли кто-нибудь объяснить логику, как он делает то, что делает? Вот код:

Код: Выделить всё

def hoare(arr,start,end):
pivot = 4
i,j = start,end
while i < j:
while i < j and arr[i] = i and arr[j] > pivot:
j -= 1
if i < j:
arr[i],arr[j] = arr[j],arr[i]
return j
Есть еще один вариант разделения — алгоритм Ломуто. Он делает что-то похожее, хотя, поскольку я вообще не понимаю алгоритм Хоара, я не могу заметить разницу. Может ли кто-нибудь объяснить, что происходит в алгоритме, и какой из них в каком случае дает лучшую производительность?

Подробнее здесь: https://stackoverflow.com/questions/125 ... -algorithm
Ответить

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

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

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

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

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