SlideShare a Scribd company logo
1 of 23
BUBBLE SORT
Presented By :
Ashish Sadavarti
SORTING
Sorting takes an unordered collection and makes
it an ordered one.
1 2 3 4 5 6
1 2 3 4 5 6
12 20 6 66 105 2
2 6 12 20 66 105
BUBBLE SORT:
● It uses simple algorithm. It sorts by comparing each pair of
adjacent items and swapping them in the order. This will be
repeated until no swaps are needed . The algorithm got its
name from the way smaller elements “bubble” to the top of
the list.
● It is not much efficient when a list is having more then a few
elements . Among simple sorting algorithms, algorithms like
insertion sort are usually considered as more efficient.
● Bubble sort is little slower compared to other sorting
technique but it is easy because it deals with only two
elements at a time.
3
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
12
35
42
77 101
1 2 3 4 5 6
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
12
35
42
77 101
1 2 3 4 5 6
Swap
42 77
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
12
35
77
42 101
1 2 3 4 5 6
Swap
35 77
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
12
77
35
42 101
1 2 3 4 5 6
Swap
12 77
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
77
12
35
42 101
1 2 3 4 5 6
No need to swap
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
5
77
12
35
42 101
1 2 3 4 5 6
Swap
5 101
"Bubbling Up" the Largest Element
● Traverse a collection of elements
○ Move from the front to the end
○ “Bubble” the largest value to the end
using pair-wise comparisons and
swapping
77
12
35
42 5
1 2 3 4 5 6
101
Largest value correctly placed
The “Bubble Up” Algorithm
index <- 1
last_compare_at <- n – 1
loop
exitif(index > last_compare_at)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
No, Swap isn’t built in.
Procedure Swap(a, b isoftype in/out Num)
t isoftype Num
t <- a
a <- b
b <- t
endprocedure // Swap
LB
Items of Interest
● Notice that only the largest value is
correctly placed
● All other values are still out of order
● So we need to repeat this process
77
12
35
42 5
1 2 3 4 5 6
101
Largest value correctly placed
Repeat “Bubble Up” How
Many Times?
● If we have N elements…
● And if each time we bubble an
element, we place it in its correct
location…
● Then we repeat the “bubble up”
process N – 1 times.
● This guarantees we’ll correctly
place all N elements.
“Bubbling” All the Elements
77
12
35
42 5
1 2 3 4 5 6
101
5
42
12
35 77
1 2 3 4 5 6
101
42
5
35
12 77
1 2 3 4 5 6
101
42
35
5
12 77
1 2 3 4 5 6
101
42
35
12
5 77
1 2 3 4 5 6
101
N
-
1
Reducing the Number of
Comparisons
12
35
42
77 101
1 2 3 4 5 6
5
77
12
35
42 5
1 2 3 4 5 6
101
5
42
12
35 77
1 2 3 4 5 6
101
42
5
35
12 77
1 2 3 4 5 6
101
42
35
5
12 77
1 2 3 4 5 6
101
Reducing the Number of
Comparisons
● On the Nth “bubble up”, we only need to
do MAX-N comparisons.
● For example:
○ This is the 4th “bubble up”
○ MAX is 6
○ Thus we have 2 comparisons to do
42
5
35
12 77
1 2 3 4 5 6
101
Putting It All Together
N is … // Size of Array
Arr_Type definesa Array[1..N] of Num
Procedure Swap(n1, n2 isoftype in/out Num)
temp isoftype Num
temp <- n1
n1 <- n2
n2 <- temp
endprocedure // Swap
procedure Bubblesort(A isoftype in/out Arr_Type)
to_do, index isoftype Num
to_do <- N – 1
loop
exitif(to_do = 0)
index <- 1
loop
exitif(index > to_do)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
to_do <- to_do - 1
endloop
endprocedure // Bubblesort
Inner
loop
Outer
loop
Summary
● “Bubble Up” algorithm will move
largest value to its correct location (to
the right)
● Repeat “Bubble Up” until all elements
are correctly placed:
○ Maximum of N-1 times
○ Can finish early if no swapping
occurs
● We reduce the number of elements
we compare each time one is
correctly placed
Credits
● https://www.slideshare.net/manekar007/bubbl
e-sort-19001719
22
THANKYOU!

More Related Content

Similar to BUBBLESORT

MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptxMYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptxArjayBalberan1
 
Bubble sort
Bubble sort Bubble sort
Bubble sort rmsz786
 
Sorting and Hashing Algorithm full pdfs.
Sorting and Hashing Algorithm full pdfs.Sorting and Hashing Algorithm full pdfs.
Sorting and Hashing Algorithm full pdfs.NikhilSoni177492
 
Analysis and Design of Algorithms -Sorting Algorithms and analysis
Analysis and Design of Algorithms -Sorting Algorithms and analysisAnalysis and Design of Algorithms -Sorting Algorithms and analysis
Analysis and Design of Algorithms -Sorting Algorithms and analysisRadhika Talaviya
 
8 elementary sorts-bubble
8 elementary sorts-bubble8 elementary sorts-bubble
8 elementary sorts-bubbleirdginfo
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithmsZaid Hameed
 
Heapsortokkay
HeapsortokkayHeapsortokkay
HeapsortokkayRemesha
 
sorting techniques PPT.ppt
sorting techniques PPT.pptsorting techniques PPT.ppt
sorting techniques PPT.pptAnilVastav
 
Sorting in data structures and algorithms , it has all the necessary points t...
Sorting in data structures and algorithms , it has all the necessary points t...Sorting in data structures and algorithms , it has all the necessary points t...
Sorting in data structures and algorithms , it has all the necessary points t...BhumikaBiyani1
 
Sorting techniques Anil Dutt
Sorting techniques Anil DuttSorting techniques Anil Dutt
Sorting techniques Anil DuttAnil Dutt
 

Similar to BUBBLESORT (20)

MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptxMYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASE BUBLESORT.pptx
 
Bubble sort
Bubble sort Bubble sort
Bubble sort
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Sorting and Hashing Algorithm full pdfs.
Sorting and Hashing Algorithm full pdfs.Sorting and Hashing Algorithm full pdfs.
Sorting and Hashing Algorithm full pdfs.
 
CSE225_LEC3 (1).pptx
CSE225_LEC3 (1).pptxCSE225_LEC3 (1).pptx
CSE225_LEC3 (1).pptx
 
Unit vii sorting
Unit   vii sorting Unit   vii sorting
Unit vii sorting
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Unit 7 sorting
Unit   7 sortingUnit   7 sorting
Unit 7 sorting
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
L 14-ct1120
L 14-ct1120L 14-ct1120
L 14-ct1120
 
Insertion and merge sort
Insertion and merge sortInsertion and merge sort
Insertion and merge sort
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
Analysis and Design of Algorithms -Sorting Algorithms and analysis
Analysis and Design of Algorithms -Sorting Algorithms and analysisAnalysis and Design of Algorithms -Sorting Algorithms and analysis
Analysis and Design of Algorithms -Sorting Algorithms and analysis
 
8 elementary sorts-bubble
8 elementary sorts-bubble8 elementary sorts-bubble
8 elementary sorts-bubble
 
DESIGN AND ANALYSIS OF ALGORITHM (DAA)
DESIGN AND ANALYSIS OF ALGORITHM (DAA)DESIGN AND ANALYSIS OF ALGORITHM (DAA)
DESIGN AND ANALYSIS OF ALGORITHM (DAA)
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
Heapsortokkay
HeapsortokkayHeapsortokkay
Heapsortokkay
 
sorting techniques PPT.ppt
sorting techniques PPT.pptsorting techniques PPT.ppt
sorting techniques PPT.ppt
 
Sorting in data structures and algorithms , it has all the necessary points t...
Sorting in data structures and algorithms , it has all the necessary points t...Sorting in data structures and algorithms , it has all the necessary points t...
Sorting in data structures and algorithms , it has all the necessary points t...
 
Sorting techniques Anil Dutt
Sorting techniques Anil DuttSorting techniques Anil Dutt
Sorting techniques Anil Dutt
 

More from Ashish Sadavarti

Derivatives & Risk Management
Derivatives & Risk Management Derivatives & Risk Management
Derivatives & Risk Management Ashish Sadavarti
 
Stationary Store Management System
Stationary Store Management SystemStationary Store Management System
Stationary Store Management SystemAshish Sadavarti
 
STEPPER MOTOR CONTROLLER USING MICROCONTROLLER
STEPPER MOTOR CONTROLLER USING MICROCONTROLLERSTEPPER MOTOR CONTROLLER USING MICROCONTROLLER
STEPPER MOTOR CONTROLLER USING MICROCONTROLLERAshish Sadavarti
 
Develop a shadow sensor alarm using IC 741
Develop a shadow sensor alarm using IC 741Develop a shadow sensor alarm using IC 741
Develop a shadow sensor alarm using IC 741Ashish Sadavarti
 
BUILD A CIRCUIT FOR EVEN PARITY GENERATOR
BUILD A CIRCUIT FOR EVEN PARITY GENERATORBUILD A CIRCUIT FOR EVEN PARITY GENERATOR
BUILD A CIRCUIT FOR EVEN PARITY GENERATORAshish Sadavarti
 
build a circuit for battery charger for charging a battery of 6V, 4AH
build a circuit for battery charger for charging a battery of 6V, 4AHbuild a circuit for battery charger for charging a battery of 6V, 4AH
build a circuit for battery charger for charging a battery of 6V, 4AHAshish Sadavarti
 
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptx
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptxSIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptx
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptxAshish Sadavarti
 
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptx
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptxBUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptx
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptxAshish Sadavarti
 
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptx
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptxDEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptx
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptxAshish Sadavarti
 
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptx
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptxBUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptx
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptxAshish Sadavarti
 
DEVELOP A GAS LEAKAGE DETECTOR .pptx
DEVELOP A GAS LEAKAGE DETECTOR .pptxDEVELOP A GAS LEAKAGE DETECTOR .pptx
DEVELOP A GAS LEAKAGE DETECTOR .pptxAshish Sadavarti
 
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptx
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptxBUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptx
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptxAshish Sadavarti
 
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...Ashish Sadavarti
 
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptx
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptxSIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptx
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptxAshish Sadavarti
 
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptx
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptxTO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptx
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptxAshish Sadavarti
 
Industrial Control Circuits .pptx
Industrial Control Circuits .pptxIndustrial Control Circuits .pptx
Industrial Control Circuits .pptxAshish Sadavarti
 

More from Ashish Sadavarti (20)

Ministry of School
Ministry of SchoolMinistry of School
Ministry of School
 
RELIGION IN INDIA
RELIGION IN INDIARELIGION IN INDIA
RELIGION IN INDIA
 
5V_DC POWER Supply
5V_DC POWER Supply5V_DC POWER Supply
5V_DC POWER Supply
 
Derivatives & Risk Management
Derivatives & Risk Management Derivatives & Risk Management
Derivatives & Risk Management
 
Stationary Store Management System
Stationary Store Management SystemStationary Store Management System
Stationary Store Management System
 
ARTIFICIAL INTELIGENCE
ARTIFICIAL INTELIGENCEARTIFICIAL INTELIGENCE
ARTIFICIAL INTELIGENCE
 
STEPPER MOTOR CONTROLLER USING MICROCONTROLLER
STEPPER MOTOR CONTROLLER USING MICROCONTROLLERSTEPPER MOTOR CONTROLLER USING MICROCONTROLLER
STEPPER MOTOR CONTROLLER USING MICROCONTROLLER
 
Develop a shadow sensor alarm using IC 741
Develop a shadow sensor alarm using IC 741Develop a shadow sensor alarm using IC 741
Develop a shadow sensor alarm using IC 741
 
BUILD A CIRCUIT FOR EVEN PARITY GENERATOR
BUILD A CIRCUIT FOR EVEN PARITY GENERATORBUILD A CIRCUIT FOR EVEN PARITY GENERATOR
BUILD A CIRCUIT FOR EVEN PARITY GENERATOR
 
build a circuit for battery charger for charging a battery of 6V, 4AH
build a circuit for battery charger for charging a battery of 6V, 4AHbuild a circuit for battery charger for charging a battery of 6V, 4AH
build a circuit for battery charger for charging a battery of 6V, 4AH
 
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptx
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptxSIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptx
SIMULATE AND BUILD CIRCUIT ON GENRAL PURPOSE PCB OF 4:1 MULTIPLEXER .pptx
 
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptx
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptxBUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptx
BUILD A ROOM TEMPERATURE MEASURMENT CIRCUIT USING MICROCONTROLLER.pptx
 
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptx
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptxDEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptx
DEVELOP A SOUND SENSOR USING LM 324 AND MICROPHONE.pptx
 
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptx
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptxBUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptx
BUILD CIRCUIT TO GENERATE FSK FREQUENCY SHIFT KEYING.pptx
 
DEVELOP A GAS LEAKAGE DETECTOR .pptx
DEVELOP A GAS LEAKAGE DETECTOR .pptxDEVELOP A GAS LEAKAGE DETECTOR .pptx
DEVELOP A GAS LEAKAGE DETECTOR .pptx
 
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptx
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptxBUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptx
BUILD DC TIME DELAY RELAY USING PUT ON ZERO (0) PCB .pptx
 
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...
PREPARE A CHART OF STEPPER MOTOR TO DISPLAY ITS FEATURES AND STEPS FOR ITS OP...
 
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptx
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptxSIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptx
SIMULATE AND CIRCUIT ON GENERAL PURPOSE PCB OF HALF ADDER.pptx
 
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptx
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptxTO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptx
TO CONSTRUCT THE CIRCUIT FOR ONE BIT ERROR CORRECTION USING HAMMING CODE.pptx
 
Industrial Control Circuits .pptx
Industrial Control Circuits .pptxIndustrial Control Circuits .pptx
Industrial Control Circuits .pptx
 

Recently uploaded

The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 

Recently uploaded (20)

The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

BUBBLESORT

  • 1. BUBBLE SORT Presented By : Ashish Sadavarti
  • 2. SORTING Sorting takes an unordered collection and makes it an ordered one. 1 2 3 4 5 6 1 2 3 4 5 6 12 20 6 66 105 2 2 6 12 20 66 105
  • 3. BUBBLE SORT: ● It uses simple algorithm. It sorts by comparing each pair of adjacent items and swapping them in the order. This will be repeated until no swaps are needed . The algorithm got its name from the way smaller elements “bubble” to the top of the list. ● It is not much efficient when a list is having more then a few elements . Among simple sorting algorithms, algorithms like insertion sort are usually considered as more efficient. ● Bubble sort is little slower compared to other sorting technique but it is easy because it deals with only two elements at a time. 3
  • 4. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 12 35 42 77 101 1 2 3 4 5 6
  • 5. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 12 35 42 77 101 1 2 3 4 5 6 Swap 42 77
  • 6. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 12 35 77 42 101 1 2 3 4 5 6 Swap 35 77
  • 7. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 12 77 35 42 101 1 2 3 4 5 6 Swap 12 77
  • 8. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 77 12 35 42 101 1 2 3 4 5 6 No need to swap
  • 9. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 5 77 12 35 42 101 1 2 3 4 5 6 Swap 5 101
  • 10. "Bubbling Up" the Largest Element ● Traverse a collection of elements ○ Move from the front to the end ○ “Bubble” the largest value to the end using pair-wise comparisons and swapping 77 12 35 42 5 1 2 3 4 5 6 101 Largest value correctly placed
  • 11. The “Bubble Up” Algorithm index <- 1 last_compare_at <- n – 1 loop exitif(index > last_compare_at) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) endif index <- index + 1 endloop
  • 12. No, Swap isn’t built in. Procedure Swap(a, b isoftype in/out Num) t isoftype Num t <- a a <- b b <- t endprocedure // Swap LB
  • 13. Items of Interest ● Notice that only the largest value is correctly placed ● All other values are still out of order ● So we need to repeat this process 77 12 35 42 5 1 2 3 4 5 6 101 Largest value correctly placed
  • 14. Repeat “Bubble Up” How Many Times? ● If we have N elements… ● And if each time we bubble an element, we place it in its correct location… ● Then we repeat the “bubble up” process N – 1 times. ● This guarantees we’ll correctly place all N elements.
  • 15. “Bubbling” All the Elements 77 12 35 42 5 1 2 3 4 5 6 101 5 42 12 35 77 1 2 3 4 5 6 101 42 5 35 12 77 1 2 3 4 5 6 101 42 35 5 12 77 1 2 3 4 5 6 101 42 35 12 5 77 1 2 3 4 5 6 101 N - 1
  • 16. Reducing the Number of Comparisons 12 35 42 77 101 1 2 3 4 5 6 5 77 12 35 42 5 1 2 3 4 5 6 101 5 42 12 35 77 1 2 3 4 5 6 101 42 5 35 12 77 1 2 3 4 5 6 101 42 35 5 12 77 1 2 3 4 5 6 101
  • 17. Reducing the Number of Comparisons ● On the Nth “bubble up”, we only need to do MAX-N comparisons. ● For example: ○ This is the 4th “bubble up” ○ MAX is 6 ○ Thus we have 2 comparisons to do 42 5 35 12 77 1 2 3 4 5 6 101
  • 18. Putting It All Together
  • 19. N is … // Size of Array Arr_Type definesa Array[1..N] of Num Procedure Swap(n1, n2 isoftype in/out Num) temp isoftype Num temp <- n1 n1 <- n2 n2 <- temp endprocedure // Swap
  • 20. procedure Bubblesort(A isoftype in/out Arr_Type) to_do, index isoftype Num to_do <- N – 1 loop exitif(to_do = 0) index <- 1 loop exitif(index > to_do) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) endif index <- index + 1 endloop to_do <- to_do - 1 endloop endprocedure // Bubblesort Inner loop Outer loop
  • 21. Summary ● “Bubble Up” algorithm will move largest value to its correct location (to the right) ● Repeat “Bubble Up” until all elements are correctly placed: ○ Maximum of N-1 times ○ Can finish early if no swapping occurs ● We reduce the number of elements we compare each time one is correctly placed