Merge Sort In Python Explained (With Example And Code)

  Рет қаралды 194,380

FelixTechTips

FelixTechTips

4 жыл бұрын

Merge Sort is an efficient sorting algorithm with O(nlogn) running time. In this video I show you a quick example and how to implement this algotrithm in Python step by step.
This video is part of the basic algorithms in Python playlist. The goal is to get an understanding of basic computer science algorithms and their implementation in Python.
For more coding videos subscribe to my youtube channel.

Пікірлер: 171
@Eduardo_C
@Eduardo_C 2 жыл бұрын
Probably the best videos I have seen on these basic algorithms on KZbin. Keep up the awesome work! have learned so much from your videos!
@sucraloss
@sucraloss Жыл бұрын
Wonderful explanation, I really like how you describe WHY you are doing things at each step. Many people create tutorial videos where they simply say "okay and now we do this to get it to compare how we want to" and don't say why they do it that way.
@EagerEggplant
@EagerEggplant 2 жыл бұрын
Been on YT for too long looking for exactly this, a simple implementation. Brilliant.
@anall3l3
@anall3l3 Ай бұрын
Clear, concise, thorough and simple algorithm. Finally understood this, thank you for your great explanation!
@user-oz4ts5mv5h
@user-oz4ts5mv5h 2 жыл бұрын
The most clearly explained one. Great job! Thanks!
@RoMAndrix
@RoMAndrix 2 жыл бұрын
Nice video Felix! I'm subscribed now. Keep doing tutorials because you're well-structured in explanation. Thank you!
@shivenmehru1571
@shivenmehru1571 2 жыл бұрын
Great explanation with a simple and clean code example. Appreciate the help!
@yiqiongxiao5255
@yiqiongxiao5255 2 жыл бұрын
you did an absolutely amazing job on explaining merge sort! im glad that i found ur vid!
@ozzy4738
@ozzy4738 Жыл бұрын
This is really simple and elegant. I wish I found this video before battling with merge sort - Thanks
@moussadiakhate9022
@moussadiakhate9022 2 жыл бұрын
thank you so much this is what I call an explanation going straight forward to the point with all the important details this is a worth millions views
@Kamil-rf5qn
@Kamil-rf5qn 4 ай бұрын
Hats off to you for explaining everything step by step, even the basic things like colon, every index. I'm a beginner with 3 weeks into python and i started my second course on FreeCodeCamp that's an interactive one with a lot harder projects than i ever done. This is my second recursion project, their variable naming was way too long and i was being overwhelmed with very long variable names. My code from project looks identical to yours and yet yours is so concise and easy to read. Recursion is still something that i'm struggling with, but i feel like this video got me closer to understanding it. Thank you!
@GermansLikeBeer
@GermansLikeBeer 2 жыл бұрын
Great video, thanks! It really helped me understand it. The way of splitting the lists was great, I hadn't thought of that Grüße
@RootUser-lg1qh
@RootUser-lg1qh Жыл бұрын
Its my first algorithm in my life and I am finally able to code it. Thank you for your help.
@jaganchowhaan9648
@jaganchowhaan9648 Жыл бұрын
This is the best explanation, I ever found on sorting . Thankyou sir!!
@t-distributedkid3825
@t-distributedkid3825 11 ай бұрын
Probably the best merge sort video on youtube.... Lot of people just confuse on this topic due to lack of clarity... even the experieenced ones
@a.m.4154
@a.m.4154 4 ай бұрын
The algorithm in code form is not intuitive or trivial at all.
@aj_hari_7
@aj_hari_7 3 ай бұрын
Best videos should reach more people. KZbin should show this kind of videos in recommendations. Highly recommended. Superb Explanation.
@DanielSmith-uj7rr
@DanielSmith-uj7rr 2 жыл бұрын
Hey There! Thank you very much for explaining this algorithm. You made it so easy to understand. I appreciate it. Thank you!
@Strydomlisa
@Strydomlisa 2 жыл бұрын
Excellent explanation of the code. Super easy to understand the concept this way, thank you.
@Eddie4k
@Eddie4k Жыл бұрын
Bro u r amazing at explaining these! Best so far that I have found.
@arnavverma2135
@arnavverma2135 3 жыл бұрын
This was amazing, keep it up...
@FelixTechTips
@FelixTechTips 3 жыл бұрын
Thanks :)
@olafschlammbeutel
@olafschlammbeutel 4 жыл бұрын
Exactly what I need right now
@waaaaaaaayyyyyynnnee
@waaaaaaaayyyyyynnnee 2 жыл бұрын
This is an awesome video! I am doing the algorithms module on Khan Academy. I understood what i was suppose to do fairly easily. Khan Academy's challenge is in JS but was not understandable. I skipped through to the code example part and you explained this perfectly. I understood exactly why you were doing each line of code instantly. Putting this into practice may be a little harder but now i have a code example which is thoroughly commented in my own words to help me solve future problems using merge sort THANK YOU
@ligrt2426
@ligrt2426 2 жыл бұрын
great video with details and simplicity, thank you!
@shwetarajapure8830
@shwetarajapure8830 Жыл бұрын
explanied so nicely ...understood after watching this vedio only.. mission accomplished!!
@santiagolicea3814
@santiagolicea3814 Жыл бұрын
You explain things so well, thank you!!!
@ahmet8266
@ahmet8266 2 жыл бұрын
thank you, I finally understood the merging step.
@son0funiverse
@son0funiverse 3 жыл бұрын
You are awesome for teaching like this. Thank you a lot
@julian7934
@julian7934 Жыл бұрын
You explained this in such an easy way compared to my uni professor lol. I couldn't thank you enough for these vids!
@Nick-gs4em
@Nick-gs4em 2 жыл бұрын
Absolutely amazing. Thank you, thank you, thank you.
@tusharnaagar2587
@tusharnaagar2587 4 ай бұрын
read a comment that this is the best video on youtube for merge sort and i would like to say indeed it is the best
@mythbuster4315
@mythbuster4315 6 ай бұрын
excellent tutorial! right before my exam!
@TheKorkahn
@TheKorkahn 4 жыл бұрын
I love sorting numbers! Thank you for the great tutorial
@rhodabaruch4
@rhodabaruch4 7 ай бұрын
Thank you! This was a great in-place solution. I would love to see you walk through a non-in-place solution.
@user-qs1gr7tl6s
@user-qs1gr7tl6s 6 ай бұрын
Great explanation. Remember to add the base case when len(arr)
@lajoskicsi6910
@lajoskicsi6910 Жыл бұрын
Thank you, this was a super useful video!
@samuell77799
@samuell77799 2 жыл бұрын
Thanks, the explanation helped me a lot.
@kostekukowski4383
@kostekukowski4383 2 жыл бұрын
that was awsome, you've helped me so much
@mohammedhrima1654
@mohammedhrima1654 Жыл бұрын
thank you so much, You saved me, I tried to implement merge sort with C, but most of C tutorials make it complicated
@Desh_Bhakt_
@Desh_Bhakt_ Жыл бұрын
Sirrrr wonderfully explained. just loved it.
@LukeAvedon
@LukeAvedon Жыл бұрын
The best video of all the videos!
@kieseatic9983
@kieseatic9983 3 ай бұрын
The explanation was so clean and easy to understand... Thank you 😄
@maxfrischdev
@maxfrischdev 7 ай бұрын
Great explantion! Toll gemacht! 🙂 Danke Felix
@ayushshubhankar858
@ayushshubhankar858 3 ай бұрын
Thanks for these videos felix!!
@alexrubio9507
@alexrubio9507 4 ай бұрын
Great explanation and amazing presentation also! Thank you so much for sharing the knowledge!
@SanjuKumar-hk8yy
@SanjuKumar-hk8yy 3 жыл бұрын
Well done, dude your explanation is very clear I understand your explanation. Keep upload more video on DSA. 🤘🤘please
@ZahZah571
@ZahZah571 2 жыл бұрын
Very clear! Thank you very much
@NHCSKIRAN
@NHCSKIRAN 2 жыл бұрын
Was very helpful in the last minute
@AnsariAnime
@AnsariAnime Жыл бұрын
yeah really its very simple to understand the concept thanks dude for me before reaching to this video i think that merge sort is very hard to understand but when i saw this video i can say its very very simple thank you so much dude😊😊
@tljstewart
@tljstewart 2 жыл бұрын
Simply Beautiful, thank you.
@vm7240
@vm7240 2 жыл бұрын
thank you! very easy to understand explanation
@ej6552
@ej6552 2 жыл бұрын
So informative! Big up from jp🇯🇵
@rogueceska
@rogueceska Жыл бұрын
best explanation yet thanks.
@luvlifk
@luvlifk 2 ай бұрын
very nicely explained merge sort.
@shaiksalman9010
@shaiksalman9010 2 жыл бұрын
love ur lucid explanation❤❤❤❤❤
@vihangatharushan4477
@vihangatharushan4477 3 ай бұрын
actually this is very simple and wow explanation
@bodalajahnavi6272
@bodalajahnavi6272 2 жыл бұрын
Very Easy to learn. Thanks
@IslamSoliman_Sci
@IslamSoliman_Sci 2 жыл бұрын
I Loved It So Much.. Good Luck
@zakariaryanmechkak3761
@zakariaryanmechkak3761 Жыл бұрын
Much better than the million videos out there just talking rubbish
@Code4You1
@Code4You1 2 жыл бұрын
Very easy to understand thx!
@lena-ck9wz
@lena-ck9wz 4 жыл бұрын
i really like your videos
@pranjalsrivastava4265
@pranjalsrivastava4265 Жыл бұрын
brilliant explanation, Hats off
@lookaway8496
@lookaway8496 Жыл бұрын
thanks for this great explanation
@charliewebb7244
@charliewebb7244 14 күн бұрын
perfect video. 10/10
@miyurux
@miyurux 2 жыл бұрын
Great video bro... keep it up👌🤙
@logofios
@logofios Жыл бұрын
Cool realization!
@bulisharma1138
@bulisharma1138 Жыл бұрын
such a nice explanation thankyou
@riyazshaik864
@riyazshaik864 5 ай бұрын
awesome explanation
@redeemuser
@redeemuser 11 ай бұрын
Neat clean and concise
@cachaceirosdohawai3070
@cachaceirosdohawai3070 3 жыл бұрын
Great video keep it up
@venkatabora1459
@venkatabora1459 2 жыл бұрын
Thanks for the clear explanation.But i have few questions. When we are calling the merged array(left_arr) function if my array is of length 1 for example. My code checks for the condition whether the length of my array is greater than 1 or not ie..if(len(arr)>1 and it will fail. When will it go to the first while conditions. Ex: 2,6,5,1,7,4,3 and my left_list=2 and right_lst=6 and now it will run array(left_arr) ie array(2) the condition is not satisfied here since my array length is equal to 1 so it will not go inside the loop right? Correct me if i am wrong since i am new to programming
@surajmane9573
@surajmane9573 2 жыл бұрын
This is when the recursion will stop with the list values of 2 and 6 and the lines of code after the recursive calls will be executed.
@girish6064
@girish6064 Жыл бұрын
Thanks for sharing!
@abufaya4155
@abufaya4155 2 жыл бұрын
Wow man ur underrated!!
@amanaggarwal4061
@amanaggarwal4061 2 жыл бұрын
Great Video please make data structure and algorithms full series playlist
@latest_news_stories
@latest_news_stories Жыл бұрын
Awesome tutorial
@darcash1738
@darcash1738 2 ай бұрын
Awesome explanation, but based on how you implement it, the left side should be smaller in the example you give: Len = 7, 7//2 = 3. 0:3 captures the actual range of 0 thru 2, or the first 3 elements
@mohsinkhattak2840
@mohsinkhattak2840 2 жыл бұрын
hey felix i'm abit confused regarding the last two while loops in which we are simply adding the remaining elements of either of the array if there are! how are we checking those remaining values for comparison?
@varunsrini7461
@varunsrini7461 Жыл бұрын
This is the case where all the elements in the other array have already been added to the sorted array. If your left array is [1,2,4,5] and your right array is [2,3,1828,183885], then by the time you reach 1828 in the right array, all the elements in the left array will have already been sorted in the main array, so you can just add the last 2 elements of the right array without worrying about comparisons. Hope that helps :)
@cateva20
@cateva20 2 жыл бұрын
thank you very much!!!!
@smesysaltyisyno
@smesysaltyisyno Жыл бұрын
You've done more for mankind then democracy ever has.
@sanooosai
@sanooosai 2 ай бұрын
thank you
@sudhakartripathi3879
@sudhakartripathi3879 3 жыл бұрын
can u make count inversion video pls .........this is very nice explanation
@qaipak1
@qaipak1 3 жыл бұрын
so this is why you Germans are so good at engineering. such a thorough explanation!
@umeboshi_
@umeboshi_ 16 күн бұрын
Thank you
@barret3534
@barret3534 5 ай бұрын
Thaks Felix.
@harvzgames9622
@harvzgames9622 Жыл бұрын
How would I do with this names and scores, like a highscore table where it will put highest score at the top but if 2 players have the same score it goes alphabetical
@user-rq9dr7hy2s
@user-rq9dr7hy2s 6 ай бұрын
This code isn't working. But you have helped me to better understand this algorithm.
@hicham_baydoun
@hicham_baydoun 6 ай бұрын
in this code there is an issue where u should put a base case before the while loop if len(l1)
@dikshyantauprety4020
@dikshyantauprety4020 2 жыл бұрын
Thank you so much
@baochu8082
@baochu8082 Жыл бұрын
Hi, can someone please explain to me the recursion part? I can only vaguely understand how recursion works in this problem. Thank you
@marwasolh9449
@marwasolh9449 Жыл бұрын
big thankss
@mahadihasan7300
@mahadihasan7300 2 жыл бұрын
Thanks buddy 😍
@osyman782
@osyman782 Жыл бұрын
Why does the function have no return
@python_knooobb
@python_knooobb 8 ай бұрын
Hi Team, in the line 2, it is giving me runtime error, stating mximum depth recursion comparison
@abhijithsubash6160
@abhijithsubash6160 Жыл бұрын
Thank You Sir
@kunaldev2590
@kunaldev2590 Жыл бұрын
what if we have 2 arrays and we have to sort them by mergesort?
@NavneetKumar-fr9wj
@NavneetKumar-fr9wj Жыл бұрын
Keep making tuts :)
@leul1407
@leul1407 2 жыл бұрын
Thanks mate
@user-oz6fr9xr1h
@user-oz6fr9xr1h 4 ай бұрын
shouldn't the first while loop conditional read "if left_arr[i]
@egemen_ozturk
@egemen_ozturk 2 жыл бұрын
I have a question about your method. Is this fully recursive? Seems like only the first part.
@yamanarslanca4337
@yamanarslanca4337 Жыл бұрын
Thanks for the video. However, I don't understand couple of things: 1) how come the code ever get to the line which starts with # merge comment if it is always sending array to the recursion in the case of len(array)>1 and if that condition is not satisfied it just returns the array (actually not because there is no return) so #merged comment and the rest of the code is never going to be executed. 2) Also, as I mentioned in the parantheses before, it returns "None" if I apply this code and if I add the return command (return array) at the end of the function, it gives wrong answer in which the array is not sorted correctly.
@gabrielvictorrusso5931
@gabrielvictorrusso5931 Жыл бұрын
I have the same doubts! Did you sort them out?
@MahlakaSami
@MahlakaSami Жыл бұрын
@@gabrielvictorrusso5931 did you try it?
@gabrielvictorrusso5931
@gabrielvictorrusso5931 Жыл бұрын
Yes, I did, I know it works wonderfully, but I need help to understsnd whats happening, otherwise I’m just learning code recipes
@folakeaiyetigbo4109
@folakeaiyetigbo4109 Жыл бұрын
@@MahlakaSami Same issues.
@paulster185
@paulster185 10 ай бұрын
You're correct that the code only enters the merge section (# merge comment) when the length of the array is greater than 1, and it recursively calls merge_sort on the left and right halves of the array. However, the merge section is executed during the backtracking phase of the recursive calls. When the recursive calls start to return, they bring back smaller sorted subarrays. The merge section is responsible for combining these smaller sorted subarrays into a larger sorted array. So, the merge section is indeed executed during the recursive backtracking phase, not during the initial recursive calls. This is why the code is able to sort the array even though it might not seem immediately obvious. Regarding the issue with returning "None": In the provided code, the sorting is achieved by directly modifying the input array arr. Instead of returning the array, the sorting is done in-place, and the final sorted array is available directly in the arr variable. The original code sorts the array in-place, so there's no need to add a return statement at the end of the function. I hope this explanation helps :)
@anubhavtyagi4359
@anubhavtyagi4359 3 жыл бұрын
Great video What will be it’s space complexity ?
@Code4You1
@Code4You1 2 жыл бұрын
Usually merge sort has O(n) space complexity
Quicksort In Python Explained (With Example And Code)
14:13
FelixTechTips
Рет қаралды 133 М.
$10,000 Every Day You Survive In The Wilderness
26:44
MrBeast
Рет қаралды 133 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 6 МЛН
Merge Sort in Python Programming | Program | Detailed Explanation
32:42
Amulya's Academy
Рет қаралды 95 М.
How I Got Good at Coding Interviews
6:29
NeetCode
Рет қаралды 1,6 МЛН
Selection Sort In Python Explained (With Example And Code)
8:27
FelixTechTips
Рет қаралды 55 М.
Merge sort algorithm
18:20
mycodeschool
Рет қаралды 2,2 МЛН
Why Is Merge Sort O(n * log(n))? The Really Really Long Answer.
36:50
Back To Back SWE
Рет қаралды 112 М.
Insertion Sort In Python Explained (With Example And Code)
7:54
FelixTechTips
Рет қаралды 161 М.
Настоящий детектор , который нужен каждому!
0:16
Ender Пересказы
Рет қаралды 288 М.
Мечта Каждого Геймера
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,2 МЛН
Bluetooth Desert Eagle
0:27
ts blur
Рет қаралды 6 МЛН
ВСЕ МОИ ТЕЛЕФОНЫ
14:31
DimaViper Live
Рет қаралды 67 М.