Learn Bubble Sort in 7 minutes 🤿

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ม.ค. 2025

ความคิดเห็น • 255

  • @BroCodez
    @BroCodez  3 ปีที่แล้ว +156

    public class Main{

    // bubble sort = pairs of adjacent elements are compared, and the elements
    // swapped if they are not in order.

    // Quadratic time O(n^2)
    // small data set = okay-ish
    // large data set = BAD (plz don't)

    public static void main(String[] args) {

    int array[] = {9, 1, 8, 2, 7, 3, 6, 4, 5};

    bubbleSort(array);

    for(int i : array) {
    System.out.print(i);
    }
    }

    public static void bubbleSort(int array[]) {

    for(int i = 0; i < array.length - 1; i++) {
    for(int j = 0; j < array.length - i - 1; j++) {
    if(array[j] > array[j+1]) {
    int temp = array[j];
    array[j] = array[j+1];
    array[j+1] = temp;
    }
    }
    }
    }
    }

    • @andreamixvlog7478
      @andreamixvlog7478 2 ปีที่แล้ว +1

      Hello, can i get this code?

    • @joyceasante8292
      @joyceasante8292 ปีที่แล้ว +6

      Practicing...
      Ascending order
      public class Main
      {
      public static void main(String[] args) {
      int array[] = {7,3,2,1,4,0,8,6,5};
      bubbleSort(array);
      for(int i: array){
      System.out.print(i);
      }
      }
      public static void bubbleSort(int array[]){
      for(int i = 0; i < array.length - 1; i++){
      for(int j = 0; j < array.length - i -1; j++){
      if(array[j] > array[j + 1]){
      int temp = array[j];
      array[j] = array[j+1];
      array[j+1]= temp;
      }
      }
      }
      }

      }
      *************************
      Descending order
      public class Main
      {
      public static void main(String[] args) {
      int array[] = {7,3,2,1,4,0,8,6,5};
      bubbleSort(array);
      for(int i: array){
      System.out.print(i);
      }
      }
      public static void bubbleSort(int array[]){
      for(int i = 0; i < array.length - 1; i++){
      for(int j = 0; j < array.length - i -1; j++){
      if(array[j] < array[j + 1]){
      int temp = array[j];
      array[j] = array[j+1];
      array[j+1]= temp;
      }
      }
      }
      }
      }

    • @koinahotahai
      @koinahotahai ปีที่แล้ว

      ​@@andreamixvlog7478yeah you can get it

    • @soumyajitpaul6135
      @soumyajitpaul6135 หลายเดือนก่อน

      Thank u bro you made my day 🗿(Even though I am posting this comment at night)
      You are one of the best computer teacher that anyone can get🗿

  • @dhoneybeekingdom7889
    @dhoneybeekingdom7889 ปีที่แล้ว +36

    The comparison with the two cups was really intuitive! I wish someone had explained me variable swapping with that example.

  • @poromoro2414
    @poromoro2414 3 ปีที่แล้ว +4

    legit only channel I have notifications on for, lifesaver!

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      thanks Poromoro! I'm glad these videos are helping

  • @moum.a8130
    @moum.a8130 3 ปีที่แล้ว +35

    Bro you are just amazing , i really appriciate your works .. Please keep going

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +10

      thanks for watching!

  • @김우솔-j3l
    @김우솔-j3l 3 ปีที่แล้ว +30

    You are saving my life in cs classes. Thank you so much.

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +9

      sweet! I'm glad the videos are helping!

  • @ashmikanln3110
    @ashmikanln3110 ปีที่แล้ว +4

    U r videos are my go to for all the sorting algos, Thank you for making these, Great help, Keep up the great work!

  • @sann6688
    @sann6688 หลายเดือนก่อน +1

    for(int i = 0; i < array.length - 1; i++) { ... }
    I guess the correct form is as follows:
    for(int i = 0; i < array.length; i++) { ... }

  • @siddhartharofficial8360
    @siddhartharofficial8360 หลายเดือนก่อน

    These videos are insanely helpful at any level. The way that u help me visualize how the sort works at the start of the video is great. Thanks A bunch!!

  • @Zippo_1234
    @Zippo_1234 2 ปีที่แล้ว +11

    These videos are great. Really helpful for my studying, thank you

  • @jaykay8426
    @jaykay8426 6 หลายเดือนก่อน +11

    Out of all the basic ways of sorting, this is the slowest of the basic ways to sort

    • @bababhosdanand
      @bababhosdanand หลายเดือนก่อน

      Ya but the easiest to execute

  • @Krzysiekoy
    @Krzysiekoy หลายเดือนก่อน

    I know I'm late but I have practicing this stuff and I feel there is one big flaw in this implementation. If the array is already partially sorted, or if it is already fully sorted, we are wasting time doing the unecessary loops over and over again. We should track the information whether or not any elements were swapped during the "main loop iteration". If we didn't need to swap any elements (i.e. they were already sorted) then we should just quit immediately.
    Here is to illustrate my point:
    function bubbleSort(nums: number[]) {
    let completedMainIterations = 0;
    let isArraySorted;
    do {
    isArraySorted = true;
    for (let i = 0; i < nums.length - 1 - completedMainIterations; i++) {
    if (nums[i] > nums[i + 1]) {
    isArraySorted = false;
    [nums[i], nums[i + 1]] = [nums[i + 1], nums[i]];
    }
    }
    completedMainIterations++;
    } while (!isArraySorted);
    return nums;
    }

  • @leonardopensador
    @leonardopensador 10 หลายเดือนก่อน

    I'm watching your videos from Brazil and I want to thank you for taking the time to teach us. It was very didactic to understand your explanation. Thank you very much.

  • @GamingPro-xn4hy
    @GamingPro-xn4hy 2 ปีที่แล้ว +1

    Bro is the best when it comes to explaining. I hope this guy blows up all over yt. I will support him

  • @thainguyenviet3267
    @thainguyenviet3267 3 ปีที่แล้ว

    always waiting for your video !!! keep doing this , love u

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      Thanks! I will continue

  • @sakuriosky1573
    @sakuriosky1573 ปีที่แล้ว +5

    For the second for-loop
    for(int j = 0; j < array.length - i - 1; j++)
    Why must we subtract i and one? I understand why we need to subtract one but why i?

    • @jellojoy2977
      @jellojoy2977 11 หลายเดือนก่อน +5

      I know it's kind of late, but I'll reply anyway in case someone has the same question. We subtract i, so that way we won't check the numbers that are already sorted!

    • @pupper5580
      @pupper5580 5 หลายเดือนก่อน +2

      we subtract 1 so there wont be overflow from the array. You can avoid using -1 by doing the following steps: 1) start the j-loop from 1. 2) when you do comparison, you do arr[j-1] and arr[j] comparisons. Using this version of the loop might be more intuitive to understand.

    • @codewithschoolteacher5118
      @codewithschoolteacher5118 3 หลายเดือนก่อน +11

      In Bubble Sort, we compare pairs of numbers in the list and swap them if they are in the wrong order. After one complete pass through the list, the biggest number will be at the end, so we don't need to check it again in the next pass.
      Now, let's focus on this part of the loop:
      j < array.length - i - 1
      What is j?
      j is the position in the array we are currently checking (the current pair of numbers being compared).
      What is array.length?
      array.length is the total number of elements in the array. For example, if the array has 6 numbers, array.length is 6.
      Why do we subtract 1?
      We subtract 1 because when we compare the element at j, we also compare it with the element at j + 1. If j were at the very end of the array, trying to check j + 1 would cause an error, because there’s no number after the last one. So, we stop one position early, by subtracting 1.
      Why subtract i?
      Every time we finish one pass through the array (one loop of the outer for loop), the largest number gets "bubbled up" to its correct position at the end of the array.
      In the second pass (i = 1), the second-largest number will be in its correct position.
      In the third pass (i = 2), the third-largest number will be in place, and so on.
      So, each time, we don’t need to check as many numbers as before because some of them are already sorted at the end. Subtracting i makes the loop shorter each time, so we don't waste time checking numbers that are already in the right place.
      Example with 6 Numbers:
      Imagine we have this array: {5, 2, 9, 1, 5, 6} (6 numbers).
      First pass (i = 0):
      We check and compare all numbers from position j = 0 to j = 4 (because array.length - i - 1 = 6 - 0 - 1 = 5).
      Second pass (i = 1):
      The largest number (9) is already in place, so we don’t need to compare it again. Now, we compare from j = 0 to j = 3 (because array.length - i - 1 = 6 - 1 - 1 = 4).
      Third pass (i = 2):
      The two largest numbers (9 and 6) are in place, so we only need to compare from j = 0 to j = 2.
      Each time, i gets bigger, and we check fewer numbers because the largest numbers are already sorted at the end!

    • @wave8060
      @wave8060 3 หลายเดือนก่อน

      @@codewithschoolteacher5118thanks a lot

  • @aaronfernando5300
    @aaronfernando5300 ปีที่แล้ว

    Ey Brooooo ... i love you man ... not even my uni lecturer explained sorting this well .. saw this video 1 day prior to my exam and it helped meee soo much.. really appriciate BROOO ..Much Love from Sri Lanka ❤

  • @bagnotneeded
    @bagnotneeded 2 ปีที่แล้ว

    you are a truly gigachad... really golden video. keep going!

  • @aditya_asundi
    @aditya_asundi 3 ปีที่แล้ว +1

    you are great, just 15k subs away from the milestone! congrats

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +2

      Yeah that's coming up soon!

  • @ThEHUNtErCr9
    @ThEHUNtErCr9 9 หลายเดือนก่อน

    Really helpful video. I could not understand the concept of bubble sort before but now i do and it has helped me code my programs better thanks bro

  • @aliiiccyee5736
    @aliiiccyee5736 2 ปีที่แล้ว

    I love u!!!! Thank u for making the concept so clear n understandable💝

  • @DetCoAnimeFan
    @DetCoAnimeFan 3 ปีที่แล้ว +20

    I know it already but I appreciate your effort. I currently know bubble sort, selection sort, insertion sort, binary and linear search as per my school syllabus. I will be waiting for your quick sort tutorial, I seriously want to learn it.

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +13

      quicksort will be coming up soon I believe

  • @MohammadJavadd
    @MohammadJavadd 8 หลายเดือนก่อน

    Really can't be better than this, thanks so much it was great tutorial❤❤

  • @barelycodingtoday
    @barelycodingtoday ปีที่แล้ว

    I still come back to this video from time to time to rehash my BubbleSort.
    Thanks BRO!

  • @T-Rex0711
    @T-Rex0711 ปีที่แล้ว +26

    Defeat the algorithm, Bros.

  • @autosuggestionasshole9208
    @autosuggestionasshole9208 3 ปีที่แล้ว

    the best channel on youtubeeee

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      Thanks bro!

  • @StefanosFragoulis
    @StefanosFragoulis ปีที่แล้ว

    Great Video mate!

  • @andres9108
    @andres9108 8 หลายเดือนก่อน

    I'm from Colombia and I can understand all with this video, thx u (I love the manual example)

  • @hather9938
    @hather9938 3 หลายเดือนก่อน

    a lot better than uni teachers, thank you

  • @xeahmedrefat2972
    @xeahmedrefat2972 ปีที่แล้ว

    Thanks from Egypt❤‍🔥

  • @aleacevedo1016
    @aleacevedo1016 ปีที่แล้ว

    As always... excellent videos! Thanks!

  • @BN-cr3el
    @BN-cr3el 3 ปีที่แล้ว +2

    💯 thank you!

  • @jerrypolemica2704
    @jerrypolemica2704 ปีที่แล้ว

    Thanks from Italy!

  • @dankmemequeen9581
    @dankmemequeen9581 ปีที่แล้ว

    Thank you very much bro, you put so much time and effort into your videos!

  • @bapssampshort
    @bapssampshort ปีที่แล้ว

    Good explantation, Thanks for sharing

  • @sahinyusifli9756
    @sahinyusifli9756 ปีที่แล้ว

    Thank you. It was so helpful!!

  • @Snowmanver2
    @Snowmanver2 3 ปีที่แล้ว +18

    Bubble sort is a very easy algorithm to implement, but is quite inefficient with large data sets

  • @qwikz5389
    @qwikz5389 3 ปีที่แล้ว +1

    this helped me out thank you

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +1

      Thanks for watching Qwikz!

  • @paulguappe
    @paulguappe 2 วันที่ผ่านมา

    Thank you for saving my life

  • @mengyuanzhang9288
    @mengyuanzhang9288 21 วันที่ผ่านมา

    Love you Bro! 🥳

  • @AiGeneration-t2e
    @AiGeneration-t2e 2 ปีที่แล้ว

    Great explanation, thank you so much.

  • @junialdy
    @junialdy ปีที่แล้ว

    thank you for the video, very easy to understand with your explanation

  • @plankalkulcompiler9468
    @plankalkulcompiler9468 ปีที่แล้ว

    Very helpful video, thank you!

  • @johnhansen4794
    @johnhansen4794 3 ปีที่แล้ว

    Clear and Concise. Thanks.

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      Thanks for watching John!

  • @learner8005
    @learner8005 ปีที่แล้ว

    New bro here loved you video brooooo🤘🤘🤘

  • @DanielSmith-uj7rr
    @DanielSmith-uj7rr 3 ปีที่แล้ว +3

    Thank You Bro! YOU ARE GREAT MY FRIEND! (People who dislikes are not from Computer Science background! LOL)! Well, I'm comfortable in Python programming. So, I didn't watch your Java code. But, your explanation is so perfect that it was building an easy understanding about the algorithm. So nicely explained! Bro, Do you also solve leet code problems?

  • @nikitos2442
    @nikitos2442 3 ปีที่แล้ว

    Like always...legendary!

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      Thanks Nikitos!

  • @sabermmirza
    @sabermmirza 3 ปีที่แล้ว

    Everyone does not share information's easily and free, mostly want money, Thanks for sharing free INFORMATIONS BRO

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      no problem! Thanks for watching Saber

  • @kyawsanaung2019
    @kyawsanaung2019 8 หลายเดือนก่อน

    Thank you for your video. I think you need to break the loop if the array is already sorted for efficiency.

  • @Tomteluva82
    @Tomteluva82 9 หลายเดือนก่อน

    very useful, thanks!

  • @AJ_Krystle
    @AJ_Krystle 12 วันที่ผ่านมา +1

    thxx

  • @muhammed__5
    @muhammed__5 ปีที่แล้ว

    very well done!

  • @BruceNguyen1999
    @BruceNguyen1999 5 หลายเดือนก่อน

    Thank bro code you is my hero about progamming thanks bro

  • @youcefmantas4944
    @youcefmantas4944 ปีที่แล้ว

    Thanks Mate!!

  • @jacklagos936
    @jacklagos936 ปีที่แล้ว

    Many thanks!

  • @sadman6852
    @sadman6852 11 หลายเดือนก่อน

    Thank you bro!

  • @MeditateRelaxEtcetera
    @MeditateRelaxEtcetera 10 หลายเดือนก่อน

    You've got it sorted out.😎

  • @Omar-_-_
    @Omar-_-_ 2 ปีที่แล้ว

    Amazing, thanks alot

  • @Saalltt
    @Saalltt 2 หลายเดือนก่อน

    Love you bro❤

  • @lambdadotjoburg
    @lambdadotjoburg 9 หลายเดือนก่อน

    I am happy to announce that I will be building a complementary video series (Algorithmic Complexity Analysis) that analyzes many of the defined concepts within your talks to demonstrate it using a rigorous mathematical framework that describes algorithms on a meta-level and forms the perfect combination, when watched in conjunction with your video series

  • @MohitRaj-1712
    @MohitRaj-1712 3 ปีที่แล้ว

    you deserve more subscribers.

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      thanks Mohit!

  • @yehannk448
    @yehannk448 3 ปีที่แล้ว

    Bro thanks just what i was looking

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      awesome! Thanks for watching Yehan!

  • @iamfromasean705
    @iamfromasean705 3 ปีที่แล้ว +1

    Thank you for the algorithm!

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +1

      Thanks for commenting to help with the TH-cam algorithm!

    • @iamfromasean705
      @iamfromasean705 3 ปีที่แล้ว

      @@BroCodez Bro, can you do quick sort , please?

  • @wolfskind9135
    @wolfskind9135 3 ปีที่แล้ว

    You're really saving my ass studying for that computer science exam - thanks bro!

  • @vehanhemsara9793
    @vehanhemsara9793 3 ปีที่แล้ว +1

    Thank You

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +1

      Thanks for watching Vehan!

    • @vehanhemsara9793
      @vehanhemsara9793 3 ปีที่แล้ว

      @@BroCodez 😊❤

  • @Math_kru_earng
    @Math_kru_earng หลายเดือนก่อน

    thanks!

  • @MrLoser-ks2xn
    @MrLoser-ks2xn ปีที่แล้ว

    Thanks!

  • @_4p_
    @_4p_ ปีที่แล้ว

    it was perfect.
    all of it

  • @ALBERTJOAQUINENSELADA
    @ALBERTJOAQUINENSELADA ปีที่แล้ว

    thank you!

  • @admoonhermiz1
    @admoonhermiz1 ปีที่แล้ว

    thank you!!!

  • @bluebaboon1
    @bluebaboon1 6 หลายเดือนก่อน

    all I keep hearing is bulbasaur 😆Thanks for the video!!

  • @KhoiHoang-dj8sl
    @KhoiHoang-dj8sl 10 วันที่ผ่านมา

    good bro!!

  • @codeammar
    @codeammar ปีที่แล้ว +1

    thx man for the amazing video , I wanted to note that since the inner loop has 8 elements to be compared and the last element won't get compared because the second element then will already be sorted, so for that the outerloop should be array.length - 2 right ?

  • @MaRvELsNERD
    @MaRvELsNERD ปีที่แล้ว

    Bro is the goat 🐐

  • @abdulmoiz5311
    @abdulmoiz5311 3 ปีที่แล้ว +1

    Great video! Please explain QuickSort , Heap and Binary Trees!!

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +3

      Thanks Abdul! We'll get to those topics eventually!

  • @preet6095
    @preet6095 2 ปีที่แล้ว

    Explanation of j< array.length-i-1 ? please...

    • @morhakak1907
      @morhakak1907 2 ปีที่แล้ว +1

      After the first iteration the highest number will ended up in the highest position. so, in the next iteration we don't need to check again for that number (he's at the right position).
      After the second iteration the second highest number will ended up in the second highest position, so we don't need to check again for that number or the number in the highest position.
      And so on for the rest of the iterations.

  • @AlaEddineStudentMezdoud
    @AlaEddineStudentMezdoud ปีที่แล้ว

    great man

  • @jdserrato3792
    @jdserrato3792 ปีที่แล้ว

    I will savour this moment that does not involve recursion

  • @cashionsteven5695
    @cashionsteven5695 3 ปีที่แล้ว

    holy moly, way better than my professor lol :))

  • @Cristian-me9id
    @Cristian-me9id 11 หลายเดือนก่อน

    thank you (:

  • @matinmonshizadeh
    @matinmonshizadeh 2 ปีที่แล้ว

    thanks bro :D

  • @mohamedabdirizakahmed3539
    @mohamedabdirizakahmed3539 ปีที่แล้ว +1

    thank you so much, it makes me easy, cause I watched alot of tutorials but don't understand.
    yesterday I bought a C# course on udemy, the first video is talking how to make a Bubble sort, but i don't understand.
    then my mind said: go on yotube, may be you can find a good teacher that makes simply to this fucking Bubble sort.
    then i got you.
    Now i understand the Bubble sort.
    thank you so much..

  • @Remolhunter97
    @Remolhunter97 3 ปีที่แล้ว

    Perfect 👌🏼

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      thanks Remol!

  • @IsaacAwad.04
    @IsaacAwad.04 7 หลายเดือนก่อน

    thanks man

  • @CSstudent_1001
    @CSstudent_1001 ปีที่แล้ว

    Thank you

  • @TITAN-sv5eg
    @TITAN-sv5eg ปีที่แล้ว

    thanks for clarify this

  • @Poria_q
    @Poria_q 11 หลายเดือนก่อน

    You're the best

  • @geografixxxx
    @geografixxxx ปีที่แล้ว

    Very easy to understand, but I wish u made those tutorial in C.

  • @aleksandarduncevic9548
    @aleksandarduncevic9548 ปีที่แล้ว +1

    Great videos, you are very helpfull! One question, in second for loop, can we write "int j = i" instead of 0, because we do not want to compare elements that are already sorted?

    • @poparobertandrei1698
      @poparobertandrei1698 ปีที่แล้ว

      he already does that
      but its not the first i elements that are sorted
      its the last i

  • @canadianbeast8671
    @canadianbeast8671 2 ปีที่แล้ว

    another simple implementation of bubble-sort algorithm
    public static void bubble(int[] arr) {
    int temp;
    for(int i=0; i

  • @alinaseerideas2295
    @alinaseerideas2295 3 ปีที่แล้ว

    Great job..
    Please Start complete video series on node KS as back-end technology..

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      maybe! I'll let you guys vote on future topics when I release polls

  • @envektro2519
    @envektro2519 3 ปีที่แล้ว +2

    can you do this for every sorting algorithm? thanks in advance

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +4

      I'll try

  • @LoveTaiwan678
    @LoveTaiwan678 3 ปีที่แล้ว

    Thank you ;)

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว +1

      thanks for watching Yu!

  • @meetprotrash3178
    @meetprotrash3178 3 ปีที่แล้ว +1

    I love you bro thanks 😘💙❤️😘

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      THanks bro!

  • @GhaziKhanShinwari
    @GhaziKhanShinwari 2 หลายเดือนก่อน

    Thanks very much bro code, i'm really like you

  • @wolanus
    @wolanus 3 ปีที่แล้ว

    Great video

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      Thanks Michal!

  • @keler50213
    @keler50213 22 วันที่ผ่านมา

    Thank u brooo

  • @mayarmosleh9484
    @mayarmosleh9484 ปีที่แล้ว

    Nice

  • @youssofprogrammer7546
    @youssofprogrammer7546 2 ปีที่แล้ว

    amazing

  • @embodormo7398
    @embodormo7398 3 ปีที่แล้ว

    Thanks for video

    • @BroCodez
      @BroCodez  3 ปีที่แล้ว

      np! Thanks for watching EMbo!

  • @lazyknight1743
    @lazyknight1743 5 หลายเดือนก่อน

    DROP a COMMENT for this awesome video.