SlideShare a Scribd company logo
Analysis and Design of Algorithms
Sorting Algorithms I
Analysis and Design of Algorithms
Sorting Algorithms
Bubble Sort
Selection Sort
Insertion Sort
Analysis and Design of Algorithms
 Sorting Algorithm is an algorithm made up of a series of instructions
that takes an array as input, and outputs a sorted array.
 There are many sorting algorithms, such as:
 Selection Sort, Bubble Sort, Insertion Sort, Merge Sort,
Heap Sort, QuickSort, Radix Sort, Counting Sort, Bucket
Sort, ShellSort, Comb Sort, Pigeonhole Sort, Cycle Sort
Analysis and Design of Algorithms
Bubble Sort
Analysis and Design of Algorithms
Bubble Sort is the simplest sorting algorithm
that works by repeatedly swapping the
adjacent elements if they are in wrong
order.
Analysis and Design of Algorithms
Algorithm:
 Step1: Compare each pair of adjacent elements in the list
 Step2: Swap two element if necessary
 Step3: Repeat this process for all the elements until the
entire array is sorted
Analysis and Design of Algorithms
 Example 1 Assume the following Array:
5 1 4 2
Analysis and Design of Algorithms
 First Iteration:
 Compare
5 1 4 2

j

j+1
Analysis and Design of Algorithms
 First Iteration:
 Swap
1 5 4 2

j

j+1
Analysis and Design of Algorithms
 First Iteration:
 Compare
1 5 4 2

j

j+1
Analysis and Design of Algorithms
 First Iteration:
 Swap
1 4 5 2

j

j+1
Analysis and Design of Algorithms
 First Iteration:
 Compare
1 4 5 2

j

j+1
Analysis and Design of Algorithms
 First Iteration:
 Swap
1 4 2 5

j

j+1
Analysis and Design of Algorithms
1 4 2 5
Analysis and Design of Algorithms
 Second Iteration:
 Compare
1 4 2 5

j

j+1
Analysis and Design of Algorithms
 Second Iteration:
 Compare
1 4 2 5

j

j+1
Analysis and Design of Algorithms
 Second Iteration:
 Swap
1 2 4 5

j

j+1
Analysis and Design of Algorithms
1 2 4 5
Analysis and Design of Algorithms
 Third Iteration:
 Compare
1 2 4 5

j

j+1
Analysis and Design of Algorithms
1 2 4 5
Analysis and Design of Algorithms
 Array is now sorted
1 2 3 4
Analysis and Design of Algorithms
5 4 2 1 3
4 5 2 1 3
4 2 5 1 3
4 2 1 5 3
4 2 1 3 5
4 2 1 3 5
2 4 1 3 5
2 1 4 3 5
2 1 3 4 5
2 1 3 4 5
1 2 3 4 5
1 2 3 4 5
 Example 2:
Analysis and Design of Algorithms
 What is the output of bubble sort after the 1st iteration given the
following sequence of numbers: 13 2 9 4 18 45 37 63
a) 2 4 9 13 18 37 45 63
b) 2 9 4 13 18 37 45 63
c) 13 2 4 9 18 45 37 63
d) 2 4 9 13 18 45 37 63
Analysis and Design of Algorithms
 What is the output of bubble sort after the 1st iteration given the
following sequence of numbers: 13 2 9 4 18 45 37 63
a) 2 4 9 13 18 37 45 63
b) 2 9 4 13 18 37 45 63
c) 13 2 4 9 18 45 37 63
d) 2 4 9 13 18 45 37 63
Analysis and Design of Algorithms
 Python Code
Analysis and Design of Algorithms
Analysis and Design of Algorithms
 Time Complexity: O(n2) as there are two nested loops
 Example of worst case
5 4 3 2 1
Analysis and Design of Algorithms
Selection Sort
Analysis and Design of Algorithms
The selection sort algorithm sorts an array by
repeatedly finding the minimum element
(considering ascending order) from unsorted
part and putting it at the beginning.
Analysis and Design of Algorithms
Algorithm:
 Step1: Find the minimum value in the list
 Step2: Swap it with the value in the current position
 Step3: Repeat this process for all the elements until the
entire array is sorted
Analysis and Design of Algorithms
 Example 1 Assume the following Array:
8 12 5 9 2
Analysis and Design of Algorithms
 Compare
8 12 5 9 2

i

j

min
Analysis and Design of Algorithms
 Compare
8 12 5 9 2

i

j

min
Analysis and Design of Algorithms
 Move
8 12 5 9 2

j

i

min
Analysis and Design of Algorithms
 Compare
8 12 5 9 2

i

min

j
Analysis and Design of Algorithms
 Compare
8 12 5 9 2

i

min

j
Analysis and Design of Algorithms
 Move
8 12 5 9 2

i

j

min
Analysis and Design of Algorithms
 Smallest
8 12 5 9 2

i

min
Analysis and Design of Algorithms
 Swap
8 12 5 9 2

min

i
Analysis and Design of Algorithms
 Sorted
 Un Sorted
2 12 5 9 8

Sorted

Un Sorted
Analysis and Design of Algorithms
 Compare
2 12 5 9 8

i

min

j

Sorted
Analysis and Design of Algorithms
 Move
2 12 5 9 8

i

min

j

Sorted
Analysis and Design of Algorithms
 Compare
2 12 5 9 8

Sorted

i

j

min
Analysis and Design of Algorithms
 Compare
2 12 5 9 8

Sorted

i

j

min
Analysis and Design of Algorithms
 Smallest
2 12 5 9 8

Sorted

i

min
Analysis and Design of Algorithms
 Swap
2 12 5 9 8

Sorted

i

min
Analysis and Design of Algorithms
 Sorted
 Un Sorted
2 5 12 9 8

Sorted

Un Sorted
Analysis and Design of Algorithms
 Compare
2 5 12 9 8

Sorted

i

j

min
Analysis and Design of Algorithms
 Move
2 5 12 9 8

Sorted

i

j

min
Analysis and Design of Algorithms
 Compare
2 5 12 9 8

Sorted

i

min

j
Analysis and Design of Algorithms
 Move
2 5 12 9 8

Sorted

i

min

j
Analysis and Design of Algorithms
 Smallest
2 5 12 9 8

Sorted

i

min
Analysis and Design of Algorithms
 Swap
2 5 12 9 8

Sorted

i

min
Analysis and Design of Algorithms
 Sorted
 Un Sorted
2 5 8 9 12

Sorted

Un Sorted
Analysis and Design of Algorithms
 Compare
2 5 8 9 12

Sorted

i

min

j
Analysis and Design of Algorithms
 Sorted
 Un Sorted
2 5 8 9 12

Sorted

Un Sorted
Analysis and Design of Algorithms
 Sorted
 Un Sorted
2 5 8 9 12

Sorted

i

min
Analysis and Design of Algorithms
 Array is now sorted
2 5 8 9 12

Sorted
Analysis and Design of Algorithms
12 10 16 11 9 7 Example 2:
7 10 16 11 9 12
7 9 16 11 10 12
7 9 10 11 16 12
7 9 10 11 16 12
7 9 10 11 12 16
12 10 16 11 9 7
Analysis and Design of Algorithms
 What is the output of selection sort after the 2nd iteration given
the following sequence of numbers: 13 2 9 4 18 45 37 63
a) 2 4 9 13 18 37 45 63
b) 2 9 4 13 18 37 45 63
c) 13 2 4 9 18 45 37 63
d) 2 4 9 13 18 45 37 63
Analysis and Design of Algorithms
 What is the output of selection sort after the 2nd iteration given
the following sequence of numbers: 13 2 9 4 18 45 37 63
a) 2 4 9 13 18 37 45 63
b) 2 9 4 13 18 37 45 63
c) 13 2 4 9 18 45 37 63
d) 2 4 9 13 18 45 37 63
Analysis and Design of Algorithms
 Python Code
Analysis and Design of Algorithms
Analysis and Design of Algorithms
 Time Complexity: O(n2) as there are two nested loops
 Example of worst case
2 3 4 5 1
Analysis and Design of Algorithms
Insertion Sort
Analysis and Design of Algorithms
Insertion sort is a simple sorting
algorithm that works the way we sort
playing cards in our hands.
Analysis and Design of Algorithms
 Algorithm:
 Step1: Compare each pair of adjacent elements in the list
 Step2: Insert element into the sorted list, until it occupies correct
position.
 Step3: Swap two element if necessary
 Step4: Repeat this process for all the elements until the entire
array is sorted
Analysis and Design of Algorithms
 Assume the following Array:
5 1 4 2
Analysis and Design of Algorithms
 Compare
 Store=
5 1 4 2

i

j

j+1
1
Analysis and Design of Algorithms
 Move
 Store=
5 4 2

i

j

j+1
1
Analysis and Design of Algorithms
 Move
 Store=
1 5 4 2

i

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 5 4 2

i

j
4

j+1
Analysis and Design of Algorithms
 Move
 Store=
1 5 2

i

j
4

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 5 2

i

j
4

j+1
Analysis and Design of Algorithms
 Move
 Store=
1 4 5 2

i

j

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 4 5 2

i

j
2

j+1
Analysis and Design of Algorithms
 Move
 Store=
1 4 5

i

j
2

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 4 5

i

j
2

j+1
Analysis and Design of Algorithms
 Move
 Store=
1 4 5

i

j
2

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 4 5

i

j
2

j+1
Analysis and Design of Algorithms
 Compare
 Store=
1 2 4 5

i

j

j+1
Analysis and Design of Algorithms
 Array is now sorted
1 2 4 5
Analysis and Design of Algorithms
5 1 8 3 9 2
 Example 2:
1 5 8 3 9 2
1 5 8 3 9 2
1 3 5 8 9 2
1 3 5 8 9 2
1 2 3 5 8 9
5 1 8 3 9 2
Analysis and Design of Algorithms
 What is the output of insertion sort after the 1st iteration given the
following sequence of numbers: 7 3 5 1 9 8 4 6
a) 3 7 5 1 9 8 4 6
b) 1 3 7 5 9 8 4 6
c) 3 4 1 5 6 8 7 9
d) 1 3 4 5 6 7 8 9
Analysis and Design of Algorithms
 What is the output of insertion sort after the 1st iteration given the
following sequence of numbers: 7 3 5 1 9 8 4 6
a) 3 7 5 1 9 8 4 6
b) 1 3 7 5 9 8 4 6
c) 3 4 1 5 6 8 7 9
d) 1 3 4 5 6 7 8 9
Analysis and Design of Algorithms
 What is the output of insertion sort after the 2nd iteration given the
following sequence of numbers: 7 3 5 1 9 8 4 6
a) 3 5 7 1 9 8 4 6
b) 1 3 7 5 9 8 4 6
c) 3 4 1 5 6 8 7 9
d) 1 3 4 5 6 7 8 9
Analysis and Design of Algorithms
 What is the output of insertion sort after the 2nd iteration given the
following sequence of numbers: 7 3 5 1 9 8 4 6
a) 3 5 7 1 9 8 4 6
b) 1 3 7 5 9 8 4 6
c) 3 4 1 5 6 8 7 9
d) 1 3 4 5 6 7 8 9
Analysis and Design of Algorithms
 Python Code
Analysis and Design of Algorithms
Analysis and Design of Algorithms
 Time Complexity: O(n2)
 Example of worst case
5 4 3 2 1
Analysis and Design of Algorithms
facebook.com/mloey
mohamedloey@gmail.com
twitter.com/mloey
linkedin.com/in/mloey
mloey@fci.bu.edu.eg
mloey.github.io
Analysis and Design of Algorithms
www.YourCompany.com
© 2020 Companyname PowerPoint Business Theme. All Rights Reserved.
THANKS FOR
YOUR TIME

More Related Content

PPTX
Sorting Algorithms
Pranay Neema
 
PDF
Algorithms Lecture 6: Searching Algorithms
Mohamed Loey
 
PDF
Algorithms Lecture 5: Sorting Algorithms II
Mohamed Loey
 
PDF
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
PDF
Algorithms Lecture 2: Analysis of Algorithms I
Mohamed Loey
 
PDF
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
PDF
Algorithms Lecture 3: Analysis of Algorithms II
Mohamed Loey
 
PPTX
Daa unit 1
Abhimanyu Mishra
 
Sorting Algorithms
Pranay Neema
 
Algorithms Lecture 6: Searching Algorithms
Mohamed Loey
 
Algorithms Lecture 5: Sorting Algorithms II
Mohamed Loey
 
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
Algorithms Lecture 2: Analysis of Algorithms I
Mohamed Loey
 
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
Algorithms Lecture 3: Analysis of Algorithms II
Mohamed Loey
 
Daa unit 1
Abhimanyu Mishra
 

What's hot (20)

PPT
UNIT-1-PPTS-DAA.ppt
racha49
 
PDF
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
PDF
Daa notes 1
smruti sarangi
 
PPTX
heap Sort Algorithm
Lemia Algmri
 
PPTX
Types of algorithms
Amelita Martinez
 
PPT
Complexity of Algorithm
Muhammad Muzammal
 
PPTX
Tree - Data Structure
Ashim Lamichhane
 
PPT
Algorithm analysis
sumitbardhan
 
PPTX
Selection sorting
Himanshu Kesharwani
 
PPTX
Graph traversals in Data Structures
Anandhasilambarasan D
 
PPTX
Asymptotic notations
Nikhil Sharma
 
PPTX
Hashing
Amar Jukuntla
 
PDF
Red black tree
Dr Sandeep Kumar Poonia
 
PDF
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
PPTX
Binary Search Tree
sagar yadav
 
PPTX
Performance analysis(Time & Space Complexity)
swapnac12
 
PPT
Abstract data types
Poojith Chowdhary
 
PPT
Dinive conquer algorithm
Mohd Arif
 
PPTX
Analysis and Design of Algorithms
Bulbul Agrawal
 
PPTX
Data Structures : hashing (1)
Home
 
UNIT-1-PPTS-DAA.ppt
racha49
 
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
Daa notes 1
smruti sarangi
 
heap Sort Algorithm
Lemia Algmri
 
Types of algorithms
Amelita Martinez
 
Complexity of Algorithm
Muhammad Muzammal
 
Tree - Data Structure
Ashim Lamichhane
 
Algorithm analysis
sumitbardhan
 
Selection sorting
Himanshu Kesharwani
 
Graph traversals in Data Structures
Anandhasilambarasan D
 
Asymptotic notations
Nikhil Sharma
 
Hashing
Amar Jukuntla
 
Red black tree
Dr Sandeep Kumar Poonia
 
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
Binary Search Tree
sagar yadav
 
Performance analysis(Time & Space Complexity)
swapnac12
 
Abstract data types
Poojith Chowdhary
 
Dinive conquer algorithm
Mohd Arif
 
Analysis and Design of Algorithms
Bulbul Agrawal
 
Data Structures : hashing (1)
Home
 
Ad

Viewers also liked (6)

PDF
Convolutional Neural Network Models - Deep Learning
Mohamed Loey
 
PDF
Computer Security Lecture 7: RSA
Mohamed Loey
 
PDF
PMP Lecture 1: Introduction to Project Management
Mohamed Loey
 
PDF
Computer Security Lecture 5: Simplified Advanced Encryption Standard
Mohamed Loey
 
PDF
Deep Learning - Overview of my work II
Mohamed Loey
 
PPSX
C++ Programming Language
Mohamed Loey
 
Convolutional Neural Network Models - Deep Learning
Mohamed Loey
 
Computer Security Lecture 7: RSA
Mohamed Loey
 
PMP Lecture 1: Introduction to Project Management
Mohamed Loey
 
Computer Security Lecture 5: Simplified Advanced Encryption Standard
Mohamed Loey
 
Deep Learning - Overview of my work II
Mohamed Loey
 
C++ Programming Language
Mohamed Loey
 
Ad

Similar to Algorithms Lecture 4: Sorting Algorithms I (20)

PPTX
UNEC__1683196273.pptx
huseynmusayev2
 
PPT
chapter 1
yatheesha
 
PPT
Data Structure (MC501)
Kamal Singh Lodhi
 
PPTX
Lecture 1.pptx
ALIZAIB KHAN
 
PPT
Lecture 01-2.ppt
RaoHamza24
 
PPT
467719275-Lecture-01 designe and alg.ppt
satyawrat1
 
PDF
01-Slides.pdf
emo1421
 
PPT
Cis435 week01
ashish bansal
 
PPT
Unit 1 chapter 1 Design and Analysis of Algorithms
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
PPT
Sorting techniques
Lovely Professional University
 
PPT
l01-intro (3).ppt
ssuser15a62a
 
PPT
Lect01
yatheesha
 
PPTX
Data structure using c module 3
smruti sarangi
 
PPTX
Algorithm analysis (All in one)
jehan1987
 
PPT
InsertionSortBubbleSortSelectionSort.ppt
shalinishankar0221
 
PPTX
Lecture 13 data structures and algorithms
Aakash deep Singhal
 
PPTX
Different Searching and Sorting Methods.pptx
Minakshee Patil
 
PPT
Lec1.ppt
ssuser8bddb2
 
PDF
Sorting
Gopi Saiteja
 
PPT
Insertion sort bubble sort selection sort
Ummar Hayat
 
UNEC__1683196273.pptx
huseynmusayev2
 
chapter 1
yatheesha
 
Data Structure (MC501)
Kamal Singh Lodhi
 
Lecture 1.pptx
ALIZAIB KHAN
 
Lecture 01-2.ppt
RaoHamza24
 
467719275-Lecture-01 designe and alg.ppt
satyawrat1
 
01-Slides.pdf
emo1421
 
Cis435 week01
ashish bansal
 
Unit 1 chapter 1 Design and Analysis of Algorithms
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
Sorting techniques
Lovely Professional University
 
l01-intro (3).ppt
ssuser15a62a
 
Lect01
yatheesha
 
Data structure using c module 3
smruti sarangi
 
Algorithm analysis (All in one)
jehan1987
 
InsertionSortBubbleSortSelectionSort.ppt
shalinishankar0221
 
Lecture 13 data structures and algorithms
Aakash deep Singhal
 
Different Searching and Sorting Methods.pptx
Minakshee Patil
 
Lec1.ppt
ssuser8bddb2
 
Sorting
Gopi Saiteja
 
Insertion sort bubble sort selection sort
Ummar Hayat
 

More from Mohamed Loey (19)

PDF
Lecture 6: Deep Learning Applications
Mohamed Loey
 
PDF
Lecture 5: Convolutional Neural Network Models
Mohamed Loey
 
PDF
Lecture 4: Deep Learning Frameworks
Mohamed Loey
 
PDF
Lecture 4: How it Works: Convolutional Neural Networks
Mohamed Loey
 
PPTX
Lecture 3: Convolutional Neural Networks
Mohamed Loey
 
PDF
Lecture 2: Artificial Neural Network
Mohamed Loey
 
PDF
Lecture 1: Deep Learning for Computer Vision
Mohamed Loey
 
PDF
Design of an Intelligent System for Improving Classification of Cancer Diseases
Mohamed Loey
 
PDF
Computer Security - CCNA Security - Lecture 2
Mohamed Loey
 
PDF
Computer Security - CCNA Security - Lecture 1
Mohamed Loey
 
PDF
Algorithms Lecture 8: Pattern Algorithms
Mohamed Loey
 
PDF
Computer Security Lecture 4.1: DES Supplementary Material
Mohamed Loey
 
PDF
PMP Lecture 4: Project Integration Management
Mohamed Loey
 
PDF
Computer Security Lecture 4: Block Ciphers and the Data Encryption Standard
Mohamed Loey
 
PDF
Computer Security Lecture 3: Classical Encryption Techniques 2
Mohamed Loey
 
PDF
Computer Security Lecture 2: Classical Encryption Techniques 1
Mohamed Loey
 
PDF
Computer Security Lecture 1: Overview
Mohamed Loey
 
PDF
PMP Lecture 3: Project Management Processes
Mohamed Loey
 
PDF
PMP Lecture 2: Project Management Framework
Mohamed Loey
 
Lecture 6: Deep Learning Applications
Mohamed Loey
 
Lecture 5: Convolutional Neural Network Models
Mohamed Loey
 
Lecture 4: Deep Learning Frameworks
Mohamed Loey
 
Lecture 4: How it Works: Convolutional Neural Networks
Mohamed Loey
 
Lecture 3: Convolutional Neural Networks
Mohamed Loey
 
Lecture 2: Artificial Neural Network
Mohamed Loey
 
Lecture 1: Deep Learning for Computer Vision
Mohamed Loey
 
Design of an Intelligent System for Improving Classification of Cancer Diseases
Mohamed Loey
 
Computer Security - CCNA Security - Lecture 2
Mohamed Loey
 
Computer Security - CCNA Security - Lecture 1
Mohamed Loey
 
Algorithms Lecture 8: Pattern Algorithms
Mohamed Loey
 
Computer Security Lecture 4.1: DES Supplementary Material
Mohamed Loey
 
PMP Lecture 4: Project Integration Management
Mohamed Loey
 
Computer Security Lecture 4: Block Ciphers and the Data Encryption Standard
Mohamed Loey
 
Computer Security Lecture 3: Classical Encryption Techniques 2
Mohamed Loey
 
Computer Security Lecture 2: Classical Encryption Techniques 1
Mohamed Loey
 
Computer Security Lecture 1: Overview
Mohamed Loey
 
PMP Lecture 3: Project Management Processes
Mohamed Loey
 
PMP Lecture 2: Project Management Framework
Mohamed Loey
 

Recently uploaded (20)

PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PPTX
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PDF
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PDF
Sunset Boulevard Student Revision Booklet
jpinnuck
 
PDF
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
CDH. pptx
AneetaSharma15
 
PPTX
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Sunset Boulevard Student Revision Booklet
jpinnuck
 
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
CDH. pptx
AneetaSharma15
 
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 

Algorithms Lecture 4: Sorting Algorithms I

  • 1. Analysis and Design of Algorithms Sorting Algorithms I
  • 2. Analysis and Design of Algorithms Sorting Algorithms Bubble Sort Selection Sort Insertion Sort
  • 3. Analysis and Design of Algorithms  Sorting Algorithm is an algorithm made up of a series of instructions that takes an array as input, and outputs a sorted array.  There are many sorting algorithms, such as:  Selection Sort, Bubble Sort, Insertion Sort, Merge Sort, Heap Sort, QuickSort, Radix Sort, Counting Sort, Bucket Sort, ShellSort, Comb Sort, Pigeonhole Sort, Cycle Sort
  • 4. Analysis and Design of Algorithms Bubble Sort
  • 5. Analysis and Design of Algorithms Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
  • 6. Analysis and Design of Algorithms Algorithm:  Step1: Compare each pair of adjacent elements in the list  Step2: Swap two element if necessary  Step3: Repeat this process for all the elements until the entire array is sorted
  • 7. Analysis and Design of Algorithms  Example 1 Assume the following Array: 5 1 4 2
  • 8. Analysis and Design of Algorithms  First Iteration:  Compare 5 1 4 2  j  j+1
  • 9. Analysis and Design of Algorithms  First Iteration:  Swap 1 5 4 2  j  j+1
  • 10. Analysis and Design of Algorithms  First Iteration:  Compare 1 5 4 2  j  j+1
  • 11. Analysis and Design of Algorithms  First Iteration:  Swap 1 4 5 2  j  j+1
  • 12. Analysis and Design of Algorithms  First Iteration:  Compare 1 4 5 2  j  j+1
  • 13. Analysis and Design of Algorithms  First Iteration:  Swap 1 4 2 5  j  j+1
  • 14. Analysis and Design of Algorithms 1 4 2 5
  • 15. Analysis and Design of Algorithms  Second Iteration:  Compare 1 4 2 5  j  j+1
  • 16. Analysis and Design of Algorithms  Second Iteration:  Compare 1 4 2 5  j  j+1
  • 17. Analysis and Design of Algorithms  Second Iteration:  Swap 1 2 4 5  j  j+1
  • 18. Analysis and Design of Algorithms 1 2 4 5
  • 19. Analysis and Design of Algorithms  Third Iteration:  Compare 1 2 4 5  j  j+1
  • 20. Analysis and Design of Algorithms 1 2 4 5
  • 21. Analysis and Design of Algorithms  Array is now sorted 1 2 3 4
  • 22. Analysis and Design of Algorithms 5 4 2 1 3 4 5 2 1 3 4 2 5 1 3 4 2 1 5 3 4 2 1 3 5 4 2 1 3 5 2 4 1 3 5 2 1 4 3 5 2 1 3 4 5 2 1 3 4 5 1 2 3 4 5 1 2 3 4 5  Example 2:
  • 23. Analysis and Design of Algorithms  What is the output of bubble sort after the 1st iteration given the following sequence of numbers: 13 2 9 4 18 45 37 63 a) 2 4 9 13 18 37 45 63 b) 2 9 4 13 18 37 45 63 c) 13 2 4 9 18 45 37 63 d) 2 4 9 13 18 45 37 63
  • 24. Analysis and Design of Algorithms  What is the output of bubble sort after the 1st iteration given the following sequence of numbers: 13 2 9 4 18 45 37 63 a) 2 4 9 13 18 37 45 63 b) 2 9 4 13 18 37 45 63 c) 13 2 4 9 18 45 37 63 d) 2 4 9 13 18 45 37 63
  • 25. Analysis and Design of Algorithms  Python Code
  • 26. Analysis and Design of Algorithms
  • 27. Analysis and Design of Algorithms  Time Complexity: O(n2) as there are two nested loops  Example of worst case 5 4 3 2 1
  • 28. Analysis and Design of Algorithms Selection Sort
  • 29. Analysis and Design of Algorithms The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning.
  • 30. Analysis and Design of Algorithms Algorithm:  Step1: Find the minimum value in the list  Step2: Swap it with the value in the current position  Step3: Repeat this process for all the elements until the entire array is sorted
  • 31. Analysis and Design of Algorithms  Example 1 Assume the following Array: 8 12 5 9 2
  • 32. Analysis and Design of Algorithms  Compare 8 12 5 9 2  i  j  min
  • 33. Analysis and Design of Algorithms  Compare 8 12 5 9 2  i  j  min
  • 34. Analysis and Design of Algorithms  Move 8 12 5 9 2  j  i  min
  • 35. Analysis and Design of Algorithms  Compare 8 12 5 9 2  i  min  j
  • 36. Analysis and Design of Algorithms  Compare 8 12 5 9 2  i  min  j
  • 37. Analysis and Design of Algorithms  Move 8 12 5 9 2  i  j  min
  • 38. Analysis and Design of Algorithms  Smallest 8 12 5 9 2  i  min
  • 39. Analysis and Design of Algorithms  Swap 8 12 5 9 2  min  i
  • 40. Analysis and Design of Algorithms  Sorted  Un Sorted 2 12 5 9 8  Sorted  Un Sorted
  • 41. Analysis and Design of Algorithms  Compare 2 12 5 9 8  i  min  j  Sorted
  • 42. Analysis and Design of Algorithms  Move 2 12 5 9 8  i  min  j  Sorted
  • 43. Analysis and Design of Algorithms  Compare 2 12 5 9 8  Sorted  i  j  min
  • 44. Analysis and Design of Algorithms  Compare 2 12 5 9 8  Sorted  i  j  min
  • 45. Analysis and Design of Algorithms  Smallest 2 12 5 9 8  Sorted  i  min
  • 46. Analysis and Design of Algorithms  Swap 2 12 5 9 8  Sorted  i  min
  • 47. Analysis and Design of Algorithms  Sorted  Un Sorted 2 5 12 9 8  Sorted  Un Sorted
  • 48. Analysis and Design of Algorithms  Compare 2 5 12 9 8  Sorted  i  j  min
  • 49. Analysis and Design of Algorithms  Move 2 5 12 9 8  Sorted  i  j  min
  • 50. Analysis and Design of Algorithms  Compare 2 5 12 9 8  Sorted  i  min  j
  • 51. Analysis and Design of Algorithms  Move 2 5 12 9 8  Sorted  i  min  j
  • 52. Analysis and Design of Algorithms  Smallest 2 5 12 9 8  Sorted  i  min
  • 53. Analysis and Design of Algorithms  Swap 2 5 12 9 8  Sorted  i  min
  • 54. Analysis and Design of Algorithms  Sorted  Un Sorted 2 5 8 9 12  Sorted  Un Sorted
  • 55. Analysis and Design of Algorithms  Compare 2 5 8 9 12  Sorted  i  min  j
  • 56. Analysis and Design of Algorithms  Sorted  Un Sorted 2 5 8 9 12  Sorted  Un Sorted
  • 57. Analysis and Design of Algorithms  Sorted  Un Sorted 2 5 8 9 12  Sorted  i  min
  • 58. Analysis and Design of Algorithms  Array is now sorted 2 5 8 9 12  Sorted
  • 59. Analysis and Design of Algorithms 12 10 16 11 9 7 Example 2: 7 10 16 11 9 12 7 9 16 11 10 12 7 9 10 11 16 12 7 9 10 11 16 12 7 9 10 11 12 16 12 10 16 11 9 7
  • 60. Analysis and Design of Algorithms  What is the output of selection sort after the 2nd iteration given the following sequence of numbers: 13 2 9 4 18 45 37 63 a) 2 4 9 13 18 37 45 63 b) 2 9 4 13 18 37 45 63 c) 13 2 4 9 18 45 37 63 d) 2 4 9 13 18 45 37 63
  • 61. Analysis and Design of Algorithms  What is the output of selection sort after the 2nd iteration given the following sequence of numbers: 13 2 9 4 18 45 37 63 a) 2 4 9 13 18 37 45 63 b) 2 9 4 13 18 37 45 63 c) 13 2 4 9 18 45 37 63 d) 2 4 9 13 18 45 37 63
  • 62. Analysis and Design of Algorithms  Python Code
  • 63. Analysis and Design of Algorithms
  • 64. Analysis and Design of Algorithms  Time Complexity: O(n2) as there are two nested loops  Example of worst case 2 3 4 5 1
  • 65. Analysis and Design of Algorithms Insertion Sort
  • 66. Analysis and Design of Algorithms Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.
  • 67. Analysis and Design of Algorithms  Algorithm:  Step1: Compare each pair of adjacent elements in the list  Step2: Insert element into the sorted list, until it occupies correct position.  Step3: Swap two element if necessary  Step4: Repeat this process for all the elements until the entire array is sorted
  • 68. Analysis and Design of Algorithms  Assume the following Array: 5 1 4 2
  • 69. Analysis and Design of Algorithms  Compare  Store= 5 1 4 2  i  j  j+1 1
  • 70. Analysis and Design of Algorithms  Move  Store= 5 4 2  i  j  j+1 1
  • 71. Analysis and Design of Algorithms  Move  Store= 1 5 4 2  i  j+1
  • 72. Analysis and Design of Algorithms  Compare  Store= 1 5 4 2  i  j 4  j+1
  • 73. Analysis and Design of Algorithms  Move  Store= 1 5 2  i  j 4  j+1
  • 74. Analysis and Design of Algorithms  Compare  Store= 1 5 2  i  j 4  j+1
  • 75. Analysis and Design of Algorithms  Move  Store= 1 4 5 2  i  j  j+1
  • 76. Analysis and Design of Algorithms  Compare  Store= 1 4 5 2  i  j 2  j+1
  • 77. Analysis and Design of Algorithms  Move  Store= 1 4 5  i  j 2  j+1
  • 78. Analysis and Design of Algorithms  Compare  Store= 1 4 5  i  j 2  j+1
  • 79. Analysis and Design of Algorithms  Move  Store= 1 4 5  i  j 2  j+1
  • 80. Analysis and Design of Algorithms  Compare  Store= 1 4 5  i  j 2  j+1
  • 81. Analysis and Design of Algorithms  Compare  Store= 1 2 4 5  i  j  j+1
  • 82. Analysis and Design of Algorithms  Array is now sorted 1 2 4 5
  • 83. Analysis and Design of Algorithms 5 1 8 3 9 2  Example 2: 1 5 8 3 9 2 1 5 8 3 9 2 1 3 5 8 9 2 1 3 5 8 9 2 1 2 3 5 8 9 5 1 8 3 9 2
  • 84. Analysis and Design of Algorithms  What is the output of insertion sort after the 1st iteration given the following sequence of numbers: 7 3 5 1 9 8 4 6 a) 3 7 5 1 9 8 4 6 b) 1 3 7 5 9 8 4 6 c) 3 4 1 5 6 8 7 9 d) 1 3 4 5 6 7 8 9
  • 85. Analysis and Design of Algorithms  What is the output of insertion sort after the 1st iteration given the following sequence of numbers: 7 3 5 1 9 8 4 6 a) 3 7 5 1 9 8 4 6 b) 1 3 7 5 9 8 4 6 c) 3 4 1 5 6 8 7 9 d) 1 3 4 5 6 7 8 9
  • 86. Analysis and Design of Algorithms  What is the output of insertion sort after the 2nd iteration given the following sequence of numbers: 7 3 5 1 9 8 4 6 a) 3 5 7 1 9 8 4 6 b) 1 3 7 5 9 8 4 6 c) 3 4 1 5 6 8 7 9 d) 1 3 4 5 6 7 8 9
  • 87. Analysis and Design of Algorithms  What is the output of insertion sort after the 2nd iteration given the following sequence of numbers: 7 3 5 1 9 8 4 6 a) 3 5 7 1 9 8 4 6 b) 1 3 7 5 9 8 4 6 c) 3 4 1 5 6 8 7 9 d) 1 3 4 5 6 7 8 9
  • 88. Analysis and Design of Algorithms  Python Code
  • 89. Analysis and Design of Algorithms
  • 90. Analysis and Design of Algorithms  Time Complexity: O(n2)  Example of worst case 5 4 3 2 1
  • 91. Analysis and Design of Algorithms facebook.com/mloey [email protected] twitter.com/mloey linkedin.com/in/mloey [email protected] mloey.github.io
  • 92. Analysis and Design of Algorithms www.YourCompany.com © 2020 Companyname PowerPoint Business Theme. All Rights Reserved. THANKS FOR YOUR TIME