не в состоянии понять алгоритм сортировки по основам c - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь выучить алогриту сортировки слиянием, но в моем понимании сталкиваюсь с блоком.

Свертывание - это начальная часть алогрита сортировки слиянием:

def mergeSort(nlist):
    print("Splitting ",nlist)
    if len(nlist)>1:
        mid = len(nlist)//2
        lefthalf = nlist[:mid]
        righthalf = nlist[mid:]

        mergeSort(lefthalf)
        mergeSort(righthalf)

Функция mergesort вызывается снова и снова, и это изменяет значение левой и правой половин, так что при вызове второй функции mergesort у нее будет только один элемент. Куда сохраняется остальная часть списка и как она восстанавливается снова? , Я не могу понять ход программы.

Как я понимаю это, я не могу понять, как это работает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...