| Store | Cart

Re: [Tutor] Merge Sort Algorithm

From: Elo Okonkwo <elo....@gmail.com>
Tue, 28 Mar 2017 15:59:49 +0100
This is the Result form that piece of code:

Splitting  [54, 26, 93, 17, 77, 31, 44, 55, 20]
Splitting  [54, 26, 93, 17]
Splitting  [54, 26]
Splitting  [54]
Merging  [54]
Splitting  [26]
Merging  [26]
Merging  [26, 54]
Splitting  [93, 17]
Splitting  [93]
Merging  [93]
Splitting  [17]
Merging  [17]
Merging  [17, 93]
Merging  [17, 26, 54, 93]
Splitting  [77, 31, 44, 55, 20]
Splitting  [77, 31]
Splitting  [77]
Merging  [77]
Splitting  [31]
Merging  [31]
Merging  [31, 77]
Splitting  [44, 55, 20]
Splitting  [44]
Merging  [44]
Splitting  [55, 20]
Splitting  [55]
Merging  [55]
Splitting  [20]
Merging  [20]
Merging  [20, 55]
Merging  [20, 44, 55]
Merging  [20, 31, 44, 55, 77]
Merging  [17, 20, 26, 31, 44, 54, 55, 77, 93]
[17, 20, 26, 31, 44, 54, 55, 77, 93]

I have never been more confused!!!!


On Tue, Mar 28, 2017 at 3:56 PM, Elo Okonkwo <elo....@gmail.com> wrote:

> Can someone pls explain this Merge Sort Algorithm, especially the> Recursive bit of it.>> def mergeSort(alist):>     print("Splitting ",alist)>     if len(alist)>1:>         mid = len(alist)//2>         lefthalf = alist[:mid]>         righthalf = alist[mid:]>>         mergeSort(lefthalf)>         mergeSort(righthalf)>>         i=0>         j=0>         k=0>         while i < len(lefthalf) and j < len(righthalf):>             if lefthalf[i] < righthalf[j]:>                 alist[k]=lefthalf[i]>                 i=i+1>             else:>                 alist[k]=righthalf[j]>                 j=j+1>             k=k+1>>         while i < len(lefthalf):>             alist[k]=lefthalf[i]>             i=i+1>             k=k+1>>         while j < len(righthalf):>             alist[k]=righthalf[j]>             j=j+1>             k=k+1>     print("Merging ",alist)>> alist = [54,26,93,17,77,31,44,55,20]> mergeSort(alist)> print(alist)>
_______________________________________________
Tutor maillist  -  Tut...@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Recent Messages in this Thread
Elo Okonkwo Mar 28, 2017 02:56 pm
Elo Okonkwo Mar 28, 2017 02:59 pm
Elo Okonkwo Mar 28, 2017 03:07 pm
Alan Gauld via Tutor Mar 28, 2017 06:08 pm
Steven DAprano Mar 29, 2017 12:36 am
Elo Okonkwo Mar 30, 2017 05:18 am
Neil Cerutti Mar 30, 2017 02:49 pm
Messages in this thread