Selection sort algorithm

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 363

  • @mycodeschool
    @mycodeschool  11 лет назад +237

    This is almost like online tuition. You can ask questions and even request videos. We can try to get them. :)

    • @bubaighosh8500
      @bubaighosh8500 4 года назад

      My god . How could you know that ? Even I thought why this guy is not uploading videos.

    • @nithingunamgari871
      @nithingunamgari871 4 года назад +16

      @@bubaighosh8500 Nope, the person teaching is pretty much alive and is working at Google. (Animesh Nayan). However, another co-founder kinda guy (Harsha aka Humblefool) died in an accident. Those circumstances led to the closure of the channel.

    • @rameshchandrapola1102
      @rameshchandrapola1102 3 года назад

      @@oreoshake6287 no

    • @shubhamsulakhe3382
      @shubhamsulakhe3382 2 года назад

      @@shamanthakrishnakg1978 uff

    • @shankar7435
      @shankar7435 2 месяца назад

      ❤❤❤

  • @mycodeschool
    @mycodeschool  11 лет назад +89

    Did you see our merge sort video? Its quite simplified. You may start loving recursion once it settles well in your head.

  • @bob_factory
    @bob_factory 4 года назад +25

    I saw a lot of comments below asking for new videos from this guy, This is 2020 and it has been 7 years since this video was posted and the content is top-notch. However the author is no more and suffered a loss of life by a speeding car while crossing a road. May he rest in peace.

  • @swetamahajan6416
    @swetamahajan6416 6 лет назад +18

    These videos are really awesome.Please post more videos on C programming and if possible on java,python,c++ or any other language you want or on data structures and algorithms because you are doing a great job. Your videos helped me a lot.You make things simple and concise.

  • @CSSoda
    @CSSoda 3 года назад +21

    Rest in Peace Harsha. You will be remembered through your amazing work.

  • @mycodeschool
    @mycodeschool  11 лет назад +34

    We are always comparing with A[iMin] i.e the current minimum,, so, its against 7, then against 4 and then against 2. Its not always against 7 because iMin is getting updated.

  • @MelDen-h9z
    @MelDen-h9z Год назад +1

    One of the greatest lecture of all time on algorithm!

  • @tanmaysrivatsa8550
    @tanmaysrivatsa8550 5 лет назад +3

    It was difficult for me to understand but you made me understand in 10 minutes.
    Thanks

  • @ryujiyamasaki355
    @ryujiyamasaki355 2 года назад

    Thank you so much, will probably binge watch your videos for my upcoming DSA exam

  • @LUX1111111111111
    @LUX1111111111111 11 лет назад +11

    I just love you. You teach the way I learn !

  • @farazhusain925
    @farazhusain925 4 года назад +1

    I really appreciate your work...one of the best channel for DS & Algo...Please make more videos

  • @anton.encours
    @anton.encours 8 лет назад +56

    it probably would make sense to add another "if" statement, to check if the min is different from i (then swap is needed). Right now, we are swapping every time, even when it is not needed

    • @RajeevKumar-ch4kg
      @RajeevKumar-ch4kg 5 лет назад

      Hi Anton,
      We are building a huge video tutorial of solutions which are asked in the interview. and we need your feedback on our video content. We believe that we can achieve that if you are around with us. So please come to our RUclips channel. The playlist link is as given below.
      ruclips.net/p/PLqqPVCi6glKYJ3RK_LrlljjnAk5QdcroX
      Please subscribe the channel for any upload notification.

    • @chouliwen4173
      @chouliwen4173 5 лет назад

      Actually,I also think about “if”,if it is added,the program is more efficient .

    • @jayjhaveri1906
      @jayjhaveri1906 4 года назад +1

      @@chouliwen4173 no.

  • @SmartProgramming
    @SmartProgramming 6 лет назад +1

    amazing explanation, hats off to you sir, keep it up 👍👍

  • @dileepbc5901
    @dileepbc5901 5 лет назад +19

    dear sir, we are following ur entire content please update this course with more algorithms , please bros who like this series give thumbs .
    (from india)

    • @sarfaraz6582
      @sarfaraz6582 4 года назад

      brother, this guy is no more

    • @shubhampanwar6879
      @shubhampanwar6879 4 года назад +1

      @@sarfaraz6582 what happened to him

    • @sarfaraz6582
      @sarfaraz6582 4 года назад

      @@shubhampanwar6879 passed away years ago by car accident

    • @AbhishekSingh-hy4dm
      @AbhishekSingh-hy4dm 4 года назад +3

      @@sarfaraz6582 bro its not this guy its the other cofounder of the channel his friend who died..the guy who speaks in the video works for google now

  • @ayushcode5804
    @ayushcode5804 4 года назад +9

    Love his voice

  • @BNFY1
    @BNFY1 Год назад

    Such a masterpiece! It is still no.1 in 2023

  • @yahyayozo8660
    @yahyayozo8660 3 года назад

    very gratuful for you man , this really gave an overview of sorting algorithms

  • @qaisurrehman7106
    @qaisurrehman7106 3 года назад

    Sir hats off to you the best lectures on sorts i have ever heard thankyou so much

  • @blake1835
    @blake1835 5 лет назад +1

    Selection sort. In computer science, selection sort is a sorting algorithm, specifically an in-place comparison sort. It has O(n2) time complexity, making it inefficient on large lists, and generally performs worse than the similar insertion sort.

    • @blake1835
      @blake1835 5 лет назад

      His definition of in-place for this algorithm that you showed makes sense but from other examples i see swaps and not copying values to a new array. In place means there is NOT a use of extra data structures that will be created then deleted. Selection sort is said to be an in place but you are saying it is not? is this explanation wrong or am I confused?

    • @unknownguywholovespizza
      @unknownguywholovespizza 9 месяцев назад

      @@blake1835 well it can be both in-place and not-in-place. Generally, not-in-place are used to make explanation easier. But in-place is much better.

  • @ahinsa__parmo__dharam
    @ahinsa__parmo__dharam 3 года назад +1

    Best explanation I ever found for sorting.
    Thanks alot sir for the easiest approaches you shared with us .😊😊

  • @hirakmondal6174
    @hirakmondal6174 6 лет назад +216

    *_This guy sounds the same as the one on neso academy_*

    • @shubhampatel5576
      @shubhampatel5576 6 лет назад +2

      yes , noticed

    • @anshul6516
      @anshul6516 6 лет назад +5

      he also owns neso academy.

    • @usama57926
      @usama57926 6 лет назад +1

      HIRAK MONDAL your comment is in bold. How you do that...

    • @RajKumar-qv7ci
      @RajKumar-qv7ci 6 лет назад +7

      @@usama57926 *use "*" at start and end of comment*

    • @usama57926
      @usama57926 6 лет назад +3

      @@RajKumar-qv7ci thank u very much

  • @beauty876
    @beauty876 10 месяцев назад

    You are good at teaching and creating panel
    Thank you

  • @annmaryjose7880
    @annmaryjose7880 7 лет назад +7

    U saved my life

  • @paramjeetchauhan
    @paramjeetchauhan 8 лет назад +1

    thanks bro. your teaching way is impressive.....

  • @prayagparikh8020
    @prayagparikh8020 5 лет назад +1

    It's too good👍👍 i understood very easily bro
    Your language accent is so good and sweet

  • @davidgmos
    @davidgmos 2 года назад +2

    Great lesson, I think the final code can be optimized...
    void selectionSort(int* A, int n){
    int temp; // temporary variable
    for (int i=0; i < n-1; i++){ // n-2 passes (last element comparisons are not necessary)
    for (int j=i+1; j < n; j++){
    if (A[j] < A[i]){ // there's a smaller value ahead
    temp = A[i]; // interchange positions
    A[i] = A[j];
    A[j] = temp;
    }
    }
    }

    • @saajankumarjha244
      @saajankumarjha244 2 года назад

      how's this optimized ? what you've done is nothing but bubble sort with swapping of min elements. Time complexity for both is O(n^2)

    • @davidgmos
      @davidgmos 2 года назад

      @@saajankumarjha244 yes that's optimization swapping elements only when needed, that implies fewer instructions per pass and less execution time even with the same time complexity

    • @saajankumarjha244
      @saajankumarjha244 2 года назад

      @@davidgmos here's a scenario for you consider an array {5,4,3,2,1}, let me know which one is optimized in terms of swapping.

    • @davidgmos
      @davidgmos 2 года назад

      @@saajankumarjha244 mine because in the worst case scenario (like the one you propose) swapping occurs through all the array and time execution is almost the same, but when it's not the case (like the vast majority of cases) the lines that swap positions in my code execute only when is necessary because they are inside the "if" condition.

  • @chelseakatsidzira7153
    @chelseakatsidzira7153 5 лет назад

    some of the best material online period

  • @Azmayenfayek
    @Azmayenfayek 7 лет назад

    all da videos r just mind blowing

  • @energizedphy6bybhathiyawij9
    @energizedphy6bybhathiyawij9 8 лет назад +1

    This helps me a lot in my exam..thnkzzzzzz a lot

  • @ronakpatil6081
    @ronakpatil6081 3 года назад

    this vid also taught me time complexity calculation wow! hats off....

  • @Juznik1389
    @Juznik1389 8 лет назад +9

    I LOVE YOU! Thanks for these clips!

  • @ventin75
    @ventin75 8 лет назад +1

    The way you explain your selection sort and how you code your selection sort function is actually different in my opinion.

    • @blake1835
      @blake1835 5 лет назад

      I also agree with this

  • @sayyedaaman5719
    @sayyedaaman5719 2 года назад

    Thank you sir for that video it's very helpful for me

  • @souravjagati10
    @souravjagati10 5 лет назад +1

    *nicely explained..loved it*

  • @sudhanshusingh208
    @sudhanshusingh208 3 года назад +4

    Hi, I recently found out about your channel and why did you stop making videos you are so good at it. Its a request if you could upload more videos about cs if possible. Love your work

    • @swastiksharma6926
      @swastiksharma6926 2 года назад +1

      he died

    • @womanwhocode3032
      @womanwhocode3032 2 года назад

      @@swastiksharma6926 no Animesh nayan is alive

    • @VivanRangra
      @VivanRangra Год назад

      @@womanwhocode3032 the brain behind the channel that is Harish died and as a result Animesh is depressed and can not make more videos

  • @bhaskerthapa6534
    @bhaskerthapa6534 8 лет назад +3

    thank u soo much for these good tutorials.

  • @dunno4729
    @dunno4729 3 года назад

    You help me so much
    Thanks for your brilliant tutorial!!!

  • @rupaliroychoudhury2300
    @rupaliroychoudhury2300 9 лет назад +2

    I think for selection sort, time complexity for best case should be O(n) because if one traverses through the already sorted list, then one can always come out of it after finding that it is already sorted instead of traversing again. Here is my code :
    int temp, min = 0, index = 0;
    bool swap = true;
    for(int i = 0; i < num && swap; i++)
    {
    min = arr[i];
    swap = false;
    for(int j = i; j < num - 1; j++)
    {
    if(min > arr[j+1])
    {
    min = arr[j+1];
    index = j+1;
    swap = true;
    }
    }
    if(swap == true)
    {
    temp = arr[i];
    arr[i] = min;
    min = temp;
    arr[index] = min;
    }
    }

    • @tej4o3
      @tej4o3 Год назад

      It's O(n^2) because of the nested for loop I think

  • @TheMcallist1
    @TheMcallist1 6 лет назад +2

    Amazing vids. Thanks for making them.

  • @RahulKumar-cg9sf
    @RahulKumar-cg9sf 6 лет назад +1

    great work..it really very helpful

  • @juhabach6371
    @juhabach6371 3 года назад +1

    Dude, please keep making videos...we need you, even in 2021...please

  • @amritanair6640
    @amritanair6640 7 лет назад +2

    There is a mistake at 2:37, it is supposed to be the second smallest element and not second-largest.
    Thank you for the videos, they are absolutely amazing :)

    • @bmrreddy2002
      @bmrreddy2002 7 лет назад

      he probably meant to say 2nd largest within the sorted portion of the array.

  • @sanjanaattanayake4231
    @sanjanaattanayake4231 Год назад

    Thank you!!!
    Awesome teaching...

  • @tanm7610
    @tanm7610 10 лет назад +1

    loving your videos!!

  • @harshjha7795
    @harshjha7795 3 года назад

    excellent explanation

  • @sidneyeubanks8224
    @sidneyeubanks8224 6 лет назад +2

    Great tutorials! Keep it up i appreciate it!

  • @mohitahlawat4944
    @mohitahlawat4944 5 лет назад

    Great explanation

  • @amittamrakar7661
    @amittamrakar7661 4 года назад +1

    *best lecture*

  • @sagardolui2998
    @sagardolui2998 7 лет назад

    amazing video, you make it so simple..

  • @SaratKumar-qk7lu
    @SaratKumar-qk7lu 5 лет назад +4

    Hello,
    Thanks! for the Explanation. It's good to start for learning. I have a small doubt. At present we have shortcuts are available like Arrays.sort(), Arrays.parallelSort(); Comparable and Comparator etc., We need to learn this sorting Algorithm._ (I don't know that's the reason I am asking.) _.*It anyone knows please provide the answer. * Please provide any links. I need to learn more about this.
    Thanks and Regards,
    Sarat.

    • @JoeJoseph79
      @JoeJoseph79 4 года назад +1

      There are predefined sorting methods . These sorting algorithms are just choices in case we need to implement algorithms based on input size.

  • @beardlessspirit4946
    @beardlessspirit4946 9 лет назад +1

    please do the lecture for file pointers i.e, lecture on streams.....
    we are having a lot of trouble in learning that.......
    thank you for all the lectures till now.....

  • @chingiskhant4971
    @chingiskhant4971 5 лет назад

    You're so good!!!! Indian tutorials forever!

  • @silentcod3r
    @silentcod3r 11 лет назад

    You mentioned that this algorithm is slow, but technically, it is not if n (size of the array) is small. As n gets bigger, it can begin to get slower yes.

  • @aishwaryaghosh4329
    @aishwaryaghosh4329 5 лет назад

    Excellent explanation...we should make videos... excellent...

  • @jayshrinikam19
    @jayshrinikam19 8 лет назад +10

    I found it complicated than other explanations..Why can t you have variable to hold the index of minimum value from each pass. Then swap the first element and the minimum element. So in next pass start from 2nd element to find second element and so on...

  • @fitnessislifelong
    @fitnessislifelong 3 года назад

    Why i

  • @eligirl100
    @eligirl100 7 лет назад

    this was so helpful man. Thanks

  • @geeky_world
    @geeky_world 3 года назад

    in 2021 also best series to learn Ds

  • @amanchauhan-jl9ls
    @amanchauhan-jl9ls 11 лет назад +1

    Nice explanation..
    but can you please upload video for Heap Sort and Radix sort?

  • @moniruzzamanmoni676
    @moniruzzamanmoni676 4 года назад

    Excellent explanation :)

  • @JannisAdmek
    @JannisAdmek 6 лет назад

    Normally I am not into correcting grammar mistakes but since you say it in every video: first not 1th
    great videos btw!!

    • @karanrandhir9865
      @karanrandhir9865 5 лет назад

      First number will actually be the zeroth index . So 1th is said to avoid confusion .

  • @VishalKumar-lk1pt
    @VishalKumar-lk1pt 9 месяцев назад

    great lecture

  • @m.mubashar786
    @m.mubashar786 3 года назад

    *Amazing sir*

  • @shivenpatro3602
    @shivenpatro3602 4 года назад

    Good work👍🏻👍🏻👍🏻

  • @rohitsinghal100
    @rohitsinghal100 10 лет назад +3

    nice explanation... thank you for these videos..

  • @usama57926
    @usama57926 6 лет назад +1

    thank u sir amazing algorithm thanks again

  • @naveenareddy9042
    @naveenareddy9042 7 лет назад

    Nice,and easy,clear

  • @Kaustubh560
    @Kaustubh560 11 лет назад +3

    Good job! Nice lecture! :)

  • @christorok1906
    @christorok1906 6 лет назад

    These are fantastic and very clear. Great video!

  • @pallabiguha7991
    @pallabiguha7991 4 года назад +2

    teacher: lets talk about simple sorting scenerio. teacher: *takes out adult uno cards*

  • @tbtb3096
    @tbtb3096 3 года назад

    Totally worth that horrendous zomato ad

  • @miguelpetrarca5540
    @miguelpetrarca5540 3 года назад

    nth term in arithmetic series is calculated by a (sub n) = n ( (a1 + a (sub n) )/ 2 ) , if last term is 1, and first is (n-1), how do you get n(n-1) / 2

  • @vishnuprabhaviswanathan546
    @vishnuprabhaviswanathan546 7 лет назад

    Really superb..

  • @mcwho3
    @mcwho3 8 лет назад

    Great video! This was a much clearer explanation than when i took this class in college. Quick question, why would you want/need to pass in the length of the array. Are you assuming that this is being implemented in languages without built in arrays with a find/return length function? It seems like it would be unnecessary for a user to input the length.

  • @nayeembadhusha4759
    @nayeembadhusha4759 6 лет назад

    Please provide videos on heap sort also

  • @nitpal9958
    @nitpal9958 2 года назад

    Why use iMin at all?
    Why not simply use i instead of iMin?
    We can do the comparison A[j] < A[i] and it will give the same result.
    void SelectionSort(int A[], int n)
    {
    for (int i=0; i

    • @anmol9886
      @anmol9886 Год назад

      Just for sake of better understanding

  • @deepanshubansal4454
    @deepanshubansal4454 9 лет назад +3

    mycodeschool You guys do an awesome job.Thanks!
    I have a query.The two loops are nested.So,to calculate the time complexity,shouldn't their individual complexities be multiplied?Why are they being added?

    • @SAINIVEDH
      @SAINIVEDH 3 года назад

      Multiplication is nothing but repeated addition. He did the same

  • @silverzero9524
    @silverzero9524 7 лет назад +106

    Array bhai bhai bhai bhai

    • @aryamaangoswamy179
      @aryamaangoswamy179 5 лет назад +9

      List behen behen behen behen

    • @RajeevKumar-ch4kg
      @RajeevKumar-ch4kg 5 лет назад +2

      Hi Miscritz,
      We are building a huge video tutorial of solutions which are asked in the interview. and we need your feedback on our video content. We believe that we can achieve that if you are around with us. So please come to our RUclips channel. The playlist link is as given below.
      ruclips.net/p/PLqqPVCi6glKYJ3RK_LrlljjnAk5QdcroX
      Please subscribe the channel for any upload notification.

    • @shubhamsulakhe3382
      @shubhamsulakhe3382 2 года назад

      @@aryamaangoswamy179 😂

    • @spaceandtechnology5214
      @spaceandtechnology5214 2 года назад

      😂😂😂😂😂😂

    • @iam_tanishmall
      @iam_tanishmall 2 года назад

      Bro😂😂

  • @mikeyyychang8402
    @mikeyyychang8402 6 лет назад

    instead of n could replace by array.length or return new arr[] will be more efficient

  • @unknownguywholovespizza
    @unknownguywholovespizza 9 месяцев назад +1

    There's an error in the pseudocode. It's:
    for i

  • @amaan0
    @amaan0 3 года назад

    *Thanks Animesh*

  • @thedotz10
    @thedotz10 11 лет назад +2

    Hello Sir. Here I have a doubt. When you are in element 7 and then we check for each element which is lesser than 7 from 2 to 5 indices. In each index suppose index 2 (4 lesser 7) => True so imin is 2. Again it goes to index 3 (2 lesser 7) True = > imin is 3 then index 4(5 lesser 7)= > imin is 4 and last index 5(3 lesser 7) = > imin is 5. So at the end imin is 5. Now A[5] and A[1] will be swapped right that is 7 AND 3 ?

    • @tomhoney3569
      @tomhoney3569 3 года назад

      I too have this same doubt.. can anyone clarify ?

  • @purpleswipe1717
    @purpleswipe1717 7 лет назад

    Great Explanation !!!
    Btw which software do u use for writing things like this?

  • @MegaGangsta4life
    @MegaGangsta4life 10 лет назад +98

    I love your accent xD

  • @ranjeethashastri9086
    @ranjeethashastri9086 3 месяца назад

    at 7:45, shouldnt j be from i+1 to n? otherwise we keep missing the last element of the array and dont compare it to anything

  • @abhinashmahor6227
    @abhinashmahor6227 9 лет назад +1

    please upload a lecture on linkedlist

  • @venkatasubbareddy.g2283
    @venkatasubbareddy.g2283 5 лет назад +2

    Could you make the data structures and algorithms videos using java

    • @RajeevKumar-ch4kg
      @RajeevKumar-ch4kg 5 лет назад

      Hi Venkata,
      We are building a huge video tutorial of solutions which are asked in the interview. and we need your feedback on our video content. We believe that we can achieve that if you are around with us. So please come to our RUclips channel. The playlist link is as given below.
      ruclips.net/p/PLqqPVCi6glKYJ3RK_LrlljjnAk5QdcroX
      Please subscribe the channel for any upload notification.

  • @nilashishchakraborty3983
    @nilashishchakraborty3983 10 лет назад

    There is an issue with this algorithm. If u take inputs as 4,2,1,8 it gives back 2,1,4,8 as output. And it is not an issue of the code because the sorting algorithm itself specifies this sort of output it. Please check it :)
    P.S: I might be wrong ;)

    • @jef4300
      @jef4300 9 лет назад

      it gives 1248 for me

  • @narsireddynallamilli3755
    @narsireddynallamilli3755 10 лет назад +3

    Can we improve algo by running c3 only if iMin is changed in c2?

  • @Burak-pl1jl
    @Burak-pl1jl 6 лет назад

    Wouldn't the part with the cost "c1" be executed "n - 2" times? Since you are starting with the index 0 till n-2
    which makes
    (n - 2) - 0 + 1 = n - 1
    for the loop header of the outer loop. Then n - 2 for the statements inside the loop.

  • @debajyotideori
    @debajyotideori 3 года назад

    *very helpful*

  • @HWHWID
    @HWHWID 2 года назад

    how to stop looping by using selectionsort if array is already sorted?

  • @hangchen6131
    @hangchen6131 6 лет назад +3

    Your videos are the best of data structures and algorithms and more!
    Do have a question about this video here. @7:56, the comment says "we need to do n-2 passes", but even though we do not have to do the last loop, that should still mean n-1? From the loop condition, it was n-1 passes, and also in practice, it's n-1 passes as well.
    Does anyone also have this concern? Thanks

  • @shahriarhaqueabir7687
    @shahriarhaqueabir7687 8 лет назад +1

    your tutorials r like my home tutor..:v
    thank you so much.
    but the subtle slide hinders understanding sometimes

  • @kursemov7860
    @kursemov7860 4 месяца назад

    álgorithm, not algórithm
    anyway, thanks for the video, man you are great!

  • @qureshiowais6951
    @qureshiowais6951 5 лет назад

    please update your content if possible!

  • @nishatsayyed8326
    @nishatsayyed8326 8 лет назад +6

    ur video is noise freee.....great
    which software do u use to make videos like this..??

    • @kuldeepkumarpandey3881
      @kuldeepkumarpandey3881 6 лет назад

      You can use audacity to filter noise. Use high quality microphones to avoid noise.

  • @jarjarbinks9937
    @jarjarbinks9937 2 года назад

    can we just not perform a simple swap in selection sort for every length of array

  • @aseemlalfakawma5084
    @aseemlalfakawma5084 7 лет назад

    Thanks dude.

  • @Pradeepkahera
    @Pradeepkahera 7 лет назад

    Superb..