I watched it at 2x and learned selection sort in 1min and 21 seconds.
@iamdeepak__11 ай бұрын
I understood it in the first swap itself.. In 30 seconds.
@M-R-Editor11 ай бұрын
@@iamdeepak__😂😂
@4NDTRY11 ай бұрын
@@iamdeepak__*understood
@4NDTRY11 ай бұрын
*2 min 21.5 secs
@iamdeepak__11 ай бұрын
@@4NDTRY yeh 👍
@RickyCruz13014 жыл бұрын
my prof made 90 slides in pseudo code and loop invariants that i didnt even know what was happening, watching your video it makes so much sense, thank you and keep up the great work
@mandevsingh98003 жыл бұрын
Gatdamn, 90 slides. Das Mad!
@kamwow9469 Жыл бұрын
Lmao loop invariants? Did you go to Cornell
@ipodtouch470 Жыл бұрын
@@kamwow9469 bro every University brings up loop invariants or induction to prove algorithms. Professors even say "This is the only time you will ever need to formally prove an algorithm". 😂🥲
@lucutes2936 Жыл бұрын
tell him to change his way of teaching or get him fired
@anniemannie6 Жыл бұрын
Makes me feel really blessed to have a prof like mine. Only needed to watch this video because I missed that class
@MaxAttaxxxxxxxxx5 жыл бұрын
Thank you so much for explaining this simply and effectively. The real example to follow along with is helpful and the psudocode at the end puts it back into a more studious context.
@somedude67333 жыл бұрын
Here I am paying tuition to be taught this in 8 days and 3 1 hour long videos, meanwhile this video taught me this is less than 3 minutes. You are saving my Data structures and algorithms module. Thank you
@laurentbajrami36884 жыл бұрын
Best explanation I've seen on the topic
@natqt93 Жыл бұрын
my professor explained this in a way that made my brain scramble. lol but here I am learning it in a few minutes. thank you so much for these videos.
@maxresdefault82354 жыл бұрын
Really good. Simple, quick, easy. Much better than the other youtube videos which are practically 10-30 minute lectures that explain the same thing.
@Nella94 Жыл бұрын
Thanks for this quick, easy and unambiguous explanation of the sorting algorithm
@andreacorrales73883 жыл бұрын
I spent a couple days trying to wrap around this... and this video helped me ALOT!!! And THANK YOU FOR THE PSEUDO CODE!
@masoodsediqi14405 жыл бұрын
Thank you so much for explaining this simply and effectively.
@How2hit5 жыл бұрын
Dude. You explained very well. Simple and clear!
@Mdt-246 ай бұрын
Thank u for this, first time doing algorithms and data structure coding, got confused on how selection sort worked, watched this and instantly knew what to do basing my code off this.
@MichaelSambol6 ай бұрын
Awesome! Check the code repo if you have any doubts: github.com/msambol/dsa.
@pushaanbangera60302 жыл бұрын
Well I have my offline college starting in two days and i didnt pay attention to all of this but now I don't regret it.. thanks brother ♥️✌️
@calebkrauter4027 Жыл бұрын
These videos are so good for refresher on algorithms before my exam.
@MichaelSambol Жыл бұрын
Thanks, Caleb!
@calebkrauter4027 Жыл бұрын
@@MichaelSambol 👍 Any chance you'd consider doing a video on P, NP and NP complete?
@MichaelSambol Жыл бұрын
@@calebkrauter4027 will add those to the list!
@star8313 жыл бұрын
Thank you so much for making such a simple to understand and concise explanation of this!!
Ай бұрын
WTF, are you a god or what? My faculty took a week to do all the sorting, and you did it in like 20 minutes.
@thatmg2 жыл бұрын
your videos are accurate, simple and right to the point! thank you for making an effort to put it out there. you gained a subscriber today and i'm sharing the hell out of your videos from now on!
@MichaelSambol2 жыл бұрын
Thank you very much. More coming soon.
@newmb3214 ай бұрын
my professor kept rambling and rambling until I was just like, "do you even know how this works?" he admitted he didn't so I told him to put on Michael Sambol. later, he thanked me after class and told me that he had spent years trying to figure this one out.
@quaking29933 жыл бұрын
Man go and be a teacher the world needs more teachers like you
@stevenlomon Жыл бұрын
Short, consise and easy to follow! Thank you for this!!
@BM-_ Жыл бұрын
Thank you for this visual explanation, I was able to code this using your visualization!
@vinsonbeduya54344 жыл бұрын
Thank you. You make it sound so easy!
@aadil4236 Жыл бұрын
Thanks!! It's just like the bubble sort, but instead of swapping the elements, we update the pointers. Neat.
@instamarg53966 жыл бұрын
So simple. Greatly explained.
@happychuckprogramming60485 жыл бұрын
thank you Michael. Very nice and clean explanation. Good job. Keep it up.
@DeepakYadav-ys7dg Жыл бұрын
Thank you very much, just by watching your video I make a algorithm on my own
@muhammadshahzebsulemani43652 жыл бұрын
What an amazing and simple explanation... Thanks a lot sir!💝
@shukiboom39743 жыл бұрын
SUPER Simple and quick explaniation ! THANK U
@mourabitiy3 жыл бұрын
this guy is sorting my ideas
@KerrKerr8 жыл бұрын
Nicely done. I remember watching the Kruskal and Dijstra algorithms back when I had classes. Keep up!
Great vids, easy and simple for revision :) Thanks!
@willower8882 жыл бұрын
i literally love you
@Nurlanbai2 жыл бұрын
Great video! Exactly what I needed. tyvm!
@jsteezeful5 жыл бұрын
Thank you very much! Python code: array = [2,8,5,3,9,4,1] def selection_sort(A): print(f"Starting Array: {A} ") for o_idx, o_val in enumerate(A): min = o_val print(f"Iteration #{o_idx+1}: pointer={o_val}, min={min}, array={A}") for i_idx, i_val in enumerate(A[o_idx+1:]): if i_val < min: old_min, min = min, i_val min_idx = o_idx+i_idx+1 print(f" Comparison: {min} < {old_min}") else: print(f" Comparison: {i_val} > {min}") else: A[o_idx], A[min_idx] = min, o_val print(f" Swapping: {min} & {o_val}") print(f"{A} ") print(f"Resulting Array: {A}")
@ronitmehta25944 жыл бұрын
THANK YOU!! this was amazing
@Mitsunee_2 жыл бұрын
just learned this from your video and wow this goes hard for smaller lists. looks like I'll need more than quick sort after all if my cool is to overoptimize sorting performance to have as-responsive-as-possible ui and fast builds :)
@anonymoustv86044 жыл бұрын
Thanks a lot! Understood it completely man!
@Burnlit13372 жыл бұрын
Lol came back here after my prof played this and your other videos on sorting to us.
@meXD4 жыл бұрын
For anyone looking for working JS solution: function selectionSort(arr) { const len = arr.length for(j=0;j
@otto_0002 жыл бұрын
cool avatar, i tried to remove this hair for 2 seconds))
@jimsun25283 ай бұрын
bro should have a Nobel prize for teaching
@Jeb-OGD4 жыл бұрын
I never thought it would be this easy
@tylerdurden41693 жыл бұрын
Thank u so much short and precise.
@eunicefoo44993 жыл бұрын
Great explaining. Useful for my subject Algorithm Analysis😄
@purleedef5 жыл бұрын
I watched this up to about 45 seconds where he had minimum set to 2 and current set to 1 and thought to myself "Please don't swap them. Please don't tell me we swap" then he had the fucking had the nerve to swap them and I'm not gonna lie, it really fucked up my morning.
@bionio70953 жыл бұрын
Lmao, this comment made my day XD
@n.btrung5 жыл бұрын
thank you for such an useful video!
@Garrison862 жыл бұрын
amazing! thank you for the clean explanation
@jacksonmckay12182 жыл бұрын
omg u saved my life period girl thanks queen!!!!!!
@jacksonmckay12182 жыл бұрын
period.
@random-03 жыл бұрын
best video on selection sort
@jenliang52925 жыл бұрын
awesome, clean, and clear, thanks
@kostadinvalchev17814 жыл бұрын
Simple explanation. Thanks a lot!
@namankeshari7332 Жыл бұрын
Thanks for making this video!
@yuvaranikannan92975 жыл бұрын
You made it simple.♥️
@nabamajeed2 жыл бұрын
these vids are soooooooooo helpful man
@BillijeanS4425 жыл бұрын
Very nice visualisation, thanks
@noapoleon_2 жыл бұрын
*Best sorting algorithm right there, no better one! Yup.*
@obesecat69420 Жыл бұрын
I did terrible on my CSA quiz, and this video wasn't there to help me when i needed. :(((
@saeedmirzaei14 жыл бұрын
Very nice job! Thank You.
@thechaoslp20474 жыл бұрын
hey is the (if iMin!=j) clause really nnecessary? Wouldn't it just swap it with itself and thereby not change anything
@paxcaster4 жыл бұрын
iirc the point of having this clause is to be more efficient depending on the size of the array and the complexity of the program you might be unnecessarily swapping a lot of numbers over and over, wasting time/energy
@mysticstardust11095 жыл бұрын
Fast and simple thank you so much
@bashaier444 жыл бұрын
So smooth Youre the best
@VihaanKumar-o1s10 ай бұрын
too good... it is a very nice explanation...
@der4n Жыл бұрын
i love these cute little videos
@Jacob-cm3io5 жыл бұрын
I love you Michael.
@ghazi27966 жыл бұрын
Neat Presentation & Simple Explaination. I Like (Y)
@XaxtonRevolution23 жыл бұрын
I think I’ve got it but let me just explain it in my own words and you can tell me if I got it correct. so for each iteration: * we start out with the left-most unsorted number. (I will refer to this number as, “j” and I will refer to the number to the left of j as, “k”.) but for the first iteration, we will use 0 for the value of k. * We check the array from left to right looking for the smallest number that is less than j but greater than k and if we find one, we will call that number, “q” * if we don’t find a number that is less than j and greater than k, we mark j as sorted and j stays in its current position throughout the entire sorting process because there is nothing that needs to be moved to the left of it. * However, if we do find a number that is less than j and greater than k, we will swap j with q (remember when I say, “q”, I mean the number that is less than j and greater than k) and mark q as sorted and q stays in its current position because there is nothing that needs to be moved to the left of it.
@J124562 ай бұрын
Sos mas grande que hay. Mastodonte
@astridjorgensen79712 ай бұрын
perfect perfect thank you king
@raheemtherager91192 жыл бұрын
fantastic and simple!!!
@tanhanvincentt.33914 жыл бұрын
best explanation 💕
@riddhibondre71935 ай бұрын
These video helped me alot
@SmartProgramming6 жыл бұрын
nice one sir 👍👍
@cynic19823 жыл бұрын
I LOVE YOU!!!! GOD BLESSSSSSS YOUR LIFEEE
@jineshdave64513 жыл бұрын
nice bro less time n more efficient cool keep it up!!!!
@1.Crazy_Engineer2 жыл бұрын
Thank you very much 🌹❤
@rahimeinollahi12 жыл бұрын
Excellent explained
@tritish31913 жыл бұрын
I understood so quick!
@sovannseung69855 жыл бұрын
Useful video. Thanks.
@adityabehera39824 жыл бұрын
We divide the array into 2 partitions, the sorted array and non-sorted array, which we don't do in bubble sort. #IISH11CSHLIC
@FLX-vq6yu5 ай бұрын
if j = i + 1, shouldn't the current item j of the inner loop, which indicates the blue arow in the video, starts one behind the red arow during each iteration instead of showing up together under the same number?
@ytwhiletrue2 жыл бұрын
depending on the searching algorithm, algorithm can go to NLogN absolute worst case.. remember you are searching in a sorted list.. even if you start sorted decreasing order..
@thetechmaster65104 жыл бұрын
This is proper explain, I went to other veedeo and no good
@nberz6923 жыл бұрын
You know it's a big thing when it's now 3 minutes long
@ashhadsiddiqui3815 Жыл бұрын
After suffering the youtube..finally i got you 😂...
@liujianghao17206 жыл бұрын
it can be improved by add best case worst case and time complexity
@jstr__5 жыл бұрын
The time complexity for best case, worst case, and avg case are all O(n^2)
@Mark-tv1zs5 жыл бұрын
All three of those cases are O(n^2)
@fupopanda6 жыл бұрын
The choice of starting array still leaves room for confusion.
@riyamani81614 жыл бұрын
#IISH11CSHLIC Selection sort is a swap between the minimum value and the current value after a complete loop.
@Florianbeats6 жыл бұрын
thanks man, subbed
@karei7375Ай бұрын
Commenting took longer then understanding this. Take a slice of this quick sort
@aakashvarunraj12794 жыл бұрын
Can you put a video on insertion sort? If so that would be great!!
@rhidlor85774 жыл бұрын
Would a recursive selection sort be less efficient than a nested loop selection sort?
@Tombalino6 жыл бұрын
Great explanation
@catorlife Жыл бұрын
can someone tell me is this another implementation of selection sort? or this is other kind of sort? note that in the code I'm not looking for "iMin" or something like that, just straight swap when I catch a smaller element void sort(vector & arr, int n) { for (int i = 0; i < n - 1; i++) for (int j = i + 1; j < n; j++) if (arr[i] > arr[j]) swap(arr[i], arr[j]); }
@StoryHub0079 Жыл бұрын
Yes
@2SourceFort4 жыл бұрын
You are awesome...thank a lot
@Ralvy3 жыл бұрын
If i get a question asking how many iteration it took overall
@Sibearian_3 жыл бұрын
Thank you ❤❤❤❤
@amirdodhy63663 жыл бұрын
Thank you for the fantastic video. I use it a lt a lot in my classes, but the pseudocode is confusing. The part of the FOR LOOP that says J < n - , should this be j = n-1??
@saidheeraj81393 жыл бұрын
I would've failed if it weren't for your videos
@typingcat Жыл бұрын
So, the complexity is the same as bubble sort. Then, why do we need both? Is it any better than bubble sort in some specific applications?
@plutomessi21 Жыл бұрын
bubble sort is stable whereas this is unstable
@typingcat Жыл бұрын
@@plutomessi21 Isn't stable algorithm always better than unstable one, with all other conditions the same? I once needed a stable sort algorithm when I created a GUI that showed a sorted list of values that got constantly updated. But I don't remember any time I specifically needed an unstable algorithm.
@plutomessi21 Жыл бұрын
@typingcat yes yes stable algo is always better, selection sort is just a technique which is taught in the universities but used very less frequently in the real world😊