Mergesort без функции слияния, как этот алгоритм объединяет спискиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Mergesort без функции слияния, как этот алгоритм объединяет списки

Сообщение Anonymous »

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

def mergeSort(A):
if len(A) < 2:
return A

mid = int(len(A)/2)
left = mergeSort(A[:mid])
right = mergeSort(A[mid:])

r,l = 0,0
B = []

while len(B) < len(A):
if r >= len(right) or (l < mid and left[l] < right[r]):
B.append(left[l])
l += 1
elif r < len(right):
B.append(right[r])
r += 1

return B

print(mergeSort([4,3,6,9,8,5,1]))
< /code>

Мое сомнение в вышеупомянутой программе заключается в том, как списки объединены без отдельной функции слияния? 

After the recursive function calls in the end I think left
and right lists contain only one element each... they are sorted and inserted in to list B using a while loop... what about other elements.. because here while loop is executed only once and how the list A is again split and merged...I got this program in internet and it works Совершенно хорошо.

Подробнее здесь: https://stackoverflow.com/questions/260 ... -the-lists
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему рекурсивный Mergesort быстрее, чем итеративный Mergesort?
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему рекурсивный Mergesort быстрее, чем итеративный Mergesort?
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Почему рекурсивный Mergesort быстрее, чем итеративный Mergesort?
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Рекурсивный Mergesort быстрее, чем итеративный Mergesort?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Python объединяет или объединяет несколько dfs с пересекающимся индексом даты и времени
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

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