Bubble sort algorithm

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 413

  • @FRSS27
    @FRSS27 5 років тому +121

    Finally, a tutorial explaining not only the logic of the algorithm, but the logic behind it's iteration. Thanks a bunch!

  • @blueskyrelaxmusic
    @blueskyrelaxmusic 8 років тому +88

    This is what we need in youtube. Great lecture with great timing.Good job.

  • @ibzih
    @ibzih 4 роки тому +34

    Dude this 10 mins video is worth my uni's multiple hour lectures. Very helpful! Thanks!

  • @mycodeschool
    @mycodeschool  11 років тому +55

    Hi Ravi,
    I guess you are talking about 6:03. Outer loop is running from 1 to n-1 (we could have run from 0 till n-2 also) which is n-1 times. If you bubble up n-1 elements, last one - nth one will automatically be in place. So, no need to run n time. Inner loop is running from 0 till n-2. It's again n-1 times. So, it looks correct to me.

    • @farooqabbasi9674
      @farooqabbasi9674 4 роки тому

      O

    • @markosavic4544
      @markosavic4544 3 роки тому +1

      Line where first for is will be executed n times,not n-1

    • @vinhnguyen-o5z
      @vinhnguyen-o5z 2 роки тому +3

      back when youtube didn't have the reply feature huh

    • @ganeshk8682
      @ganeshk8682 2 роки тому

      May is confusion with looping where less than symbol. < n- 1 is nothing but up to n-2 inclusive
      int[] arr = {0, 2, 1, 2, 0};

      int n = arr.length, temp;
      for(int k=0; k< n - 1; k++ ) {
      for (int i = 0; i < n - 1; i++) {
      if (arr[i] > arr[i + 1]) {
      temp = arr[i];
      arr[i] = arr[i + 1];
      arr[i+1] = temp;
      }
      System.out.println(Arrays.toString(arr));
      }
      }

    • @jobearnest
      @jobearnest 2 роки тому +4

      @Ganesh K in ur prgm second loop can be optimised like: for(int i=0;i

  • @curiouswithAi
    @curiouswithAi 6 років тому +4

    This channel is a true Gem For Students. Got an exam tomorrow. Would have been really difficult without You. Thank You so much for this!!!!!

  • @allblue7027
    @allblue7027 6 років тому +154

    i swear this is way better than some of the professors video in schools

    • @crazy-maxedout
      @crazy-maxedout 3 роки тому +2

      on the gang!

    • @khoitan4758
      @khoitan4758 3 роки тому +1

      I think I have a short attention span and I can get tired very quickly. And direct teaching in school is just too slow for me as teachers just try to explain every single detail. Most UA-cam videos are just short and have enough information so I understand them almost immediately.

    • @zerospectator4119
      @zerospectator4119 3 роки тому +3

      Mine just straight up doesn't teach anything

    • @shankar7435
      @shankar7435 5 місяців тому

      100% true.❤❤❤

  • @minimalist_pc
    @minimalist_pc 7 років тому +10

    your explanation is perfectly clear and the coding is really simple. Thank you so much!

  • @viditsinghbrahmania1476
    @viditsinghbrahmania1476 4 роки тому +1

    I can not even fathom how much effort would be needed to make something like this, and it is freely available!
    I don't know if any of you have noticed, but he is using MS Paint. And I didn't know it could ever be used to make something useful, let alone this.
    I always used to undermine myself, considering that I am not a 'programmer'(never really understood these simple concepts, due to shitty teachers), but in the last few weeks, I've learnt so much only because of you and other good content on the internet. And now I proudly say I enjoy programming and I am a programmer!

  • @preetshah6955
    @preetshah6955 2 роки тому

    This is the best channel for learning algorithm and data structure. I am coming back here after 5 years

  • @ANILKHANDEI
    @ANILKHANDEI 4 роки тому +6

    The video is perfect. Thanks for the ultimate collection. One check is that outer loop runs n-1 times and inner loop is an arithmetic progression n*(n-1)/2 instead of n-1. The total being n+ (n*(n-1)/2= O(n^2). Just wanted to point out. Let me know if my consideration is wrong.

  • @chelseakatsidzira7153
    @chelseakatsidzira7153 5 років тому +7

    very helpful thank you so much. this is honestly the most clear cut explanation on youtube

  • @maheshvalikar2788
    @maheshvalikar2788 8 років тому +15

    You are the best presenter i have ever seen. Very much useful. This kind of tutorials what we expect. Great job bro.

  • @saltyfish157
    @saltyfish157 8 років тому +19

    You are the best explainer I have ever seen

  • @ahinsa__parmo__dharam
    @ahinsa__parmo__dharam 3 роки тому +1

    When you reach for O(n), i'm shocked because I had never seen this version of bubble sort .. hatsoff to you.

  • @mauriceudoh7243
    @mauriceudoh7243 10 років тому +45

    This is simplified enough for a comprehension, Thanks !!!!!!!

  • @thatswhatsup0493
    @thatswhatsup0493 10 років тому +102

    Thanks so much! subscribed! This is so much more helpful than my text book :D

    • @mycodeschool
      @mycodeschool  10 років тому +18

      thatswhatsup0493 You are most welcome :)

    • @PhaniKatakam
      @PhaniKatakam 7 років тому

      Thanks Bro! Nice efforts.. and I like the variations you explained how we improve with flag...etc../\

    • @gauravlotekar660
      @gauravlotekar660 7 років тому +2

      boss i feel like dumb dumb dumb when u talk about big(o).I need more help with it.Any suggestions?

  • @cagnusmarlsen4050
    @cagnusmarlsen4050 4 роки тому

    In all of the videos the voice and the language is pretty clear and sharp so there's no need for sub-titles.

  • @ravs
    @ravs 6 років тому +9

    Your explanation is by far the best. I wish I could explain to my students in a similar fashion. Keep posting. Good work.

  • @LLLLLLEON216
    @LLLLLLEON216 8 років тому +4

    Much better than my prof's lecture! Thanks!

  • @Shailendrakumar-ge5cf
    @Shailendrakumar-ge5cf 2 роки тому +1

    Even it is 9 year old . This video was very helpful.
    Thanks for sharing you've got a new subscriber :)

  • @manishasharma-hy5mj
    @manishasharma-hy5mj 11 років тому +58

    Thank you so much for the series of sorting algorithms.
    I request you to give explanation on heap sort.

    • @harshalberad5957
      @harshalberad5957 5 років тому +1

      You have to learn tree chapter first if you want to learn heap sort

    • @peterandreash2841
      @peterandreash2841 5 років тому

      Search for "udiprod" on UA-cam, they have a great explanation.

  • @akhilgupta3664
    @akhilgupta3664 4 роки тому +6

    Brilliant explanation !! Need teachers and mentors like you , that will change the whole learning process !!
    Thanks 😀✌️

  • @ezechielmusic
    @ezechielmusic 7 років тому +6

    maybe i'll teach my prof tomorrow , thank you bro , it was really clear. :)

  • @goldenotis9703
    @goldenotis9703 6 років тому

    Best big o notation explanation I've seen so far and its not even a big o analysis video

  • @ishanpand3y
    @ishanpand3y 5 років тому +2

    I think outer loop shouldn't start with one because if k won't be starting at zero then the inner loop will go only n-k-1 i.e if k = 1 it'll go up to n-2 times if there's a small variable at the end of the array then it won't be able to reach the end to compare as it'll end one before the last one. For example this below code :
    // bubble - sort
    class BubSort{
    void sorting(int A[],int n){
    for(int k = 1 ; k < n - 1 ; k + + ) {
    boolean flag = false;
    for (int i = 0 ; i < n - k - 1 ; i + + ) {
    if (A [ i ] > A [ i + 1 ] ) {
    int temp = A [ i + 1 ] ;
    A [ i + 1 ] = A [ i ] ;

    A [ i ] = temp;
    flag = true;
    }
    }
    if (flag == false) break;
    }
    for ( int i = 0 ; i < n ; i + + ) {
    System.out.println(A [ i ] ) ;
    }
    }
    public static void main(String...ssg){
    int A[] = {42,23,54,76,23,6,34,8,4,2,3,1};
    BubSort b1 = new BubSort();
    b1.sorting(A,A.length);
    }
    }
    output - 2 3 4 6 8 23 23 34 42 54 76 1

    • @aparnamane2846
      @aparnamane2846 5 років тому

      right also flag variable when included and unsorted array is passed the output obtained is not correct

  • @kkoli
    @kkoli 3 роки тому

    this videos are much more better than the paid ones thank you sir you are really doing great work

  • @joecoke6925
    @joecoke6925 8 років тому +1

    Really smart to focus on constructing the inner-loop first. It really makes everything more clear.

  • @anchitbhushan6172
    @anchitbhushan6172 6 років тому +4

    @9:19 i think the inner loop will be executed n-1 times when there is an already sorted array as input

  • @sriharshasaraswathula6127
    @sriharshasaraswathula6127 6 років тому +8

    The outer loop must execute from 0 t0 n-1, otherwise last element will not be sorted.
    code:
    for(int k=0;k

  • @tushardev5135
    @tushardev5135 3 роки тому

    best videos i have ever found for dsa

  • @shobhitranjan3957
    @shobhitranjan3957 4 роки тому +1

    Brilliant explanation of BUBBLE SORT so far!

  • @pramodkajla
    @pramodkajla 6 років тому +1

    Best explanation on bubble sort. I have checked out lot of videos but, I was still not clear about the concept. Finally, this video helped me. Thank you so much. Excellent work.

  • @davidnovosardian6848
    @davidnovosardian6848 7 років тому +3

    You explain it sooo much better than my professor, I don't know how my professor became a professor. OMG thank you

  • @rnjnmhta.catomato
    @rnjnmhta.catomato 2 роки тому

    best video on bubble sort ,concise and clear

  • @ahsantahirprogramming
    @ahsantahirprogramming 3 роки тому

    Your Chanel Is Best For Pograming

  • @its4pg
    @its4pg 11 років тому +2

    Hi Animesh Sir,
    You are doing tremendous work.You explain very well, so far I have seen many videos in Algos & DS but these vids are the best one, small compact and fully explained !!
    All the very best for your mission, to literate the illiterate Engineering students.

  • @shreyasinghthakur2862
    @shreyasinghthakur2862 8 місяців тому

    For people wondering why n-2 and not n-1 -----
    Explaination - In an array, "n" typically represents the total number of elements in the array. So, "n-1" would refer to the index of the last element in the array since array indexing usually starts from 0.
    For example, let's say we have an array with 5 elements. "n" would be 5, and "n-1" would be 4, representing the index of the last element in the array. So if we have an array called `arr`, `arr[4]` would be the last element.

  • @zhangjing1992
    @zhangjing1992 8 років тому +1

    question in 9:05(I feel it should be like this ): if(flag == 1) break ;
    not even one swap if flag ==0; then doesn't that mean we need to swap?

  • @vaibhavnag1154
    @vaibhavnag1154 9 років тому +1

    thankyou so much my code school, it helped me a lot... it is much better than hand books... and through these videos it is easier to understand and remember all the things..
    Thank you

  • @babandimuhdnasir7057
    @babandimuhdnasir7057 Рік тому +1

    What an incredible explanation

  • @VinayYadav-pl7xw
    @VinayYadav-pl7xw 8 років тому +6

    Great explanation..... Exactly what tiny brains like me required :)

  • @Danger418
    @Danger418 6 років тому +1

    This would easily qualify for priced courses. Very good presentations.

  • @CompilerStuck
    @CompilerStuck 2 роки тому +1

    I feel like being back in school reading stuff on the almighty overhead projector

  • @rishibharadwaj68
    @rishibharadwaj68 3 роки тому +1

    Great explanation. Crisp, simple and to the point!!

  • @KETKIPATILBCE
    @KETKIPATILBCE 4 роки тому +1

    Thank you very much....this code I was trying to mug up ..now you made it's concept really simple and understandable

  • @birukanley6586
    @birukanley6586 3 роки тому

    you are great you make me feel not just to understand rather to feel.

  • @jatinagg8221
    @jatinagg8221 7 років тому

    Best channel for computer science student. Thanks for sharing knowledge to us🙏🙏

  • @thePrinceOfPurpose
    @thePrinceOfPurpose 6 років тому +10

    Actually, if you start from 0 and your size of the array is n. Then n-1 will allow you to go to a[i+1]. You're missing an element if you only go to n-2.

  • @tharindudissanayaka
    @tharindudissanayaka 7 років тому +1

    in our language "Supiriiiii.....!!! "Great tutorial ... I've cleared many things............

  • @Tankionlineandgold
    @Tankionlineandgold 2 роки тому

    Thanks a lot man i tried a lot pf vidoes to understand it and this is what helped me understand how it really works

  • @AshChaudhari
    @AshChaudhari 7 років тому +10

    i think u made mistake... A[0,1,2,....n-1]
    for i

  • @swatiomar8603
    @swatiomar8603 3 роки тому

    Best explanation.... I am looking for such tutorial.... Thanks :) and keep it up...

  • @mairajshariff1167
    @mairajshariff1167 5 років тому

    I want solutions for below given problem, kindly help:
    1- Why are we interested in worst case analysis?
    2- What do you understand by rate of growth or order of growth? Why it is important in analysis of an algorithm?
    3- For following set of functions, indicate whether f = O(g), f = Ω(g), or both.
    1) f(n) = n − 10, g(n) = n + 10
    2) f(n) = 10n^2, g(n) = 3n^3 + n^2
    4- For f(n) = n^2 + 2n^3 − 100nlogn + 10, provide the simplest possible function g(n) such that f(n) = Θ(g(n)).
    5- Show that n log n is O(n^2) but that n^2 is not O(nlogn).
    6- Prove or disprove the following: √n = O(logn)
    7- Use a recursion tree to determine a good asymptotic upper bound on the following recurrences.
    1) T(n) = 2T(n − 1) + 1
    2) T(n) = 4T(n/2) + cn
    8- Consider the recursive binary search algorithm for finding a number in a sorted array.
    (a) Give recurrence for the worst-case running times of binary search algorithm.
    (b) Use a recursion tree to determine a good asymptotic bound for the recurrence tree.
    9- The ternary search algorithm locates an element in a list of increasing integers by successively splitting the list into three sub lists of equal (or as close to equal as possible) size, and restricting the search to the appropriate piece.
    (a) Give recurrence for the worst-case running time of the algorithm.
    (b) Use a recursion tree to determine a good asymptotic bound for the recurrence tree.
    10- Provide recurrence relation and a tight asymptotic bound for the following code.
    long power ( long x , long n )
    if ( n == 0 )
    return 1;
    else
    return x * power ( x , n−1);

  • @rajasekharguntreddi
    @rajasekharguntreddi 5 років тому

    Best presentation I have ever seen

  • @piaNegi
    @piaNegi 8 місяців тому +2

    Thank you sir for explanation ❤️
    But what made me comment here is
    You sound exactly like a krsn katha vachak (i don't remember his name)

  • @zhangjing1992
    @zhangjing1992 8 років тому +1

    hi, just one small mistake: in 6:12 the T(n) = (n-1) * (n-2) * C ; I think that's your meaning there.

  • @ShahidulIslam-qd2mv
    @ShahidulIslam-qd2mv 6 років тому +4

    Nice presentation. Thanks a lot. Seems like, learned bubble sort newly after completing graduation about 10 years ago.
    One thing, at 9:45 will it break the inner loop or outer? Sorry for my ignorance.

    • @aLogicalNut7
      @aLogicalNut7 4 роки тому +1

      The outer loop. That if condition should be placed after the inner loop.

  • @compilerrun5516
    @compilerrun5516 3 роки тому +1

    According to views of this playlist seems like merge sort is a hot topic.

  • @jalpacj7813
    @jalpacj7813 4 роки тому +1

    Nice explanation!ur voice is osm😅

  • @payalparmar_
    @payalparmar_ 5 років тому

    The way u explain the algo is awsm!

  • @freeman37
    @freeman37 2 роки тому

    Very good explanation and tutorial on time efficiency.

  • @redtree732
    @redtree732 Рік тому

    This is an amazing video. Bravo.

  • @yogeesh8637
    @yogeesh8637 8 років тому

    oh my god .after watching your video I am getting confident. I felt like nothing is there in coding

  • @anjalii1102
    @anjalii1102 3 роки тому

    Thanks for such depth explaination

  • @RutulRavalLDRP
    @RutulRavalLDRP 10 років тому

    Subscribed after looking only one video.
    Awesome explanations.

  • @fasihurrehman8673
    @fasihurrehman8673 3 роки тому

    Excellent explanation ♥️♥️

  • @UNUNUN11
    @UNUNUN11 10 років тому +5

    nice explamnation
    I am taking Master in Computer Science
    I will have a course Advance Alogrithms
    so I am reviewing some sort algorithms

  • @harabe1sh1o
    @harabe1sh1o 10 років тому +28

    Great viddeo.
    A minor note that the loops look like this:
    for(int k = 1; k < size; k++)
    for(int i = 0; i < size - k; i++){

    • @emi.grigore
      @emi.grigore 7 років тому +9

      pseudocode and C++ are 2 diff things ;) so his loops are fine, because the title is bubble sort algorithm, not C++ program. No offense :D

    • @Jsheng007
      @Jsheng007 7 років тому

      Thanks man for the c++ for loop

    • @sanjanind
      @sanjanind 6 років тому +1

      watch till the end, he mentioned that.

    • @vikasrajput4204
      @vikasrajput4204 6 років тому

      U r ri8 I also noticed in b/w...there is a minor mistake (n-k-1) must bi replaced with (n-k) in the 2nd for loop..!!

    • @TechHints
      @TechHints 6 років тому +1

      @@emi.grigore any programming code is a sort of replica to their pseudo code, so we should not do logical error in writing pseudo code or it can hamper the chance of writing the correct code. No offence to any one.

  • @SmartProgramming
    @SmartProgramming 6 років тому

    awesome tutorial sir, thank you 👍👍

  • @anshbagde6544
    @anshbagde6544 2 місяці тому

    Really good explanation

  • @J4T375
    @J4T375 4 роки тому

    very simple and abstracted, thank you

  • @aniketpandey2007
    @aniketpandey2007 5 років тому

    If im not wrong sir, I believe you are trying to call an external swap() function in this code, and in that case a default call by value does not work, I think you should pass the values by reference, for the actual array to be sorted within the main() function. Hence it should be swap(&a[I],&a[I+1]).

  • @maeshakib9646
    @maeshakib9646 8 років тому

    May ALLAH give you more knowledge. Thank you bro.

  • @alzyl6287
    @alzyl6287 6 років тому

    This is very useful video and easy to understand

  • @l.p.9568
    @l.p.9568 4 роки тому +2

    I think 6:14 should be cn^2 - 2cn + 1c. i.e., the last part is not 1, but 1c.

  • @ManjeetSingh-ee4zk
    @ManjeetSingh-ee4zk 8 років тому +2

    BEST EXPLAINATION !

  • @alerioreyhan7307
    @alerioreyhan7307 4 роки тому

    thanks bro, this is so helpful

  • @aviroxi
    @aviroxi 4 роки тому +1

    thank you so much for this series

  • @akshayjain4777
    @akshayjain4777 9 років тому +2

    Feeling lucky to have found your channel!!!! Subscribed :D

  • @MuhammadRaqiburRahman
    @MuhammadRaqiburRahman Рік тому

    Thank you for the efficient lecture.

  • @animeshnayan1
    @animeshnayan1 11 років тому

    Hi Rakesh,
    You can choose to start with whatever. In the end, your code should not be buggy. The pseudo-code in this lesson is good. You can try it out in a real program.

  • @HolyManta
    @HolyManta 6 років тому

    Very well explained, subbed!

  • @augustadjurnic1707
    @augustadjurnic1707 Рік тому

    Thank you for your nice explanation

  • @archanareddy4774
    @archanareddy4774 6 років тому

    Very nice explanation sir...

  • @srisrivasthava3756
    @srisrivasthava3756 9 років тому

    It was sooo goood .Thanks for your videos

  • @Codahat
    @Codahat 6 років тому

    Excellent explanation

  • @monsiercochrane77
    @monsiercochrane77 6 років тому

    Thanks for the simple explanation.

  • @nO_d3N1AL
    @nO_d3N1AL 8 років тому

    Excellent explanation!

  • @jalsacentre1040
    @jalsacentre1040 4 роки тому +4

    Remember this obsession
    Selection sort and bubble sort requires same no of comparisons n(n-1)/2
    But in worst case bubble requires n(n-1)/2 swap rather Selection required n-1 swap
    ..... in my one interview question was asked Like which Sorting Algorithm is best If we consider only Swapping in complexity?

  • @sanketdhoble9784
    @sanketdhoble9784 8 років тому +1

    k should start from 0 to n-1,
    Btw great videos!!

  • @wudehaileyesus3017
    @wudehaileyesus3017 4 роки тому

    Great explanation!

  • @outofonesmind6722
    @outofonesmind6722 7 років тому +2

    The first loop should be from k= 0 to (n-1) right??

  • @tonyflow6244
    @tonyflow6244 5 років тому

    I get that this is very old now but surely the time expression is cn^2-2cn+c rather than cn^2-2cn+1. Anyway, was helpful thanks.

  • @sureshseneviratne1841
    @sureshseneviratne1841 9 років тому +2

    Hello ,
    Thank you soo much for creating this video!!
    It makes sorting algorithms seem soo easy and very understanding .i subscribed !!!
    Thank you !!!

  • @mcwho3
    @mcwho3 9 років тому +2

    Great implementation of the flag. It makes a major difference.

  • @varadvithalkj1716
    @varadvithalkj1716 9 років тому

    Thank u dude..u r a genius

  • @chiragsharma6261
    @chiragsharma6261 3 роки тому

    The given array is arr = {1,2,4,3}. Bubble sort is used to sort the array elements. How many iterations will be done to sort the array?
    ***How the answer comes out to be 4.***
    Detailed explanation would be appreciated.

  • @md.shafayatulhaque6273
    @md.shafayatulhaque6273 8 років тому

    You made it easy . Thanks a lot :)

  • @akkuakbar97
    @akkuakbar97 7 років тому

    you rock @mycodeschool !!

  • @archanareddy5310
    @archanareddy5310 4 роки тому

    I have a doubt at 6:55
    (n-1) *(n-1)*c=cn2+2cn+1 or cn2+2cn+c