SlideShare a Scribd company logo
Data Structures I (CPCS-204) 
Week # 4: Sorting Algorithms
Sorting 
 Motivation 
 Generally, to arrange a list of elements in some order 
 List of numbers 
 10 20 50 30 40 60 25 (Unsorted list) 
 10 20 25 30 40 50 60 (Sorted list, ascending) 
 60 50 40 30 25 20 10 (Sorted list, descending) 
 List of alphabets 
 P A K I S T A N (Unsorted list) 
 A A I K N P S T (Sorted list, ascending) 
 T S P N K I A A (Sorted list, descending)
Sorting Algorithms 
1. Bubble Sort 
2. Selection Sort 
3. Insertion Sort 
4. Quick Sort 
5. Merge Sort 
There are few more sorting algorithms; you 
can find them in a book on data structures 
and algorithms (or on the Web)
Bubble Sort Algorithm: Informal 
 Repeatedly compare the elements at 
consecutive locations in a given list, and do the 
following until the elements are in required 
order: 
 If elements are not in the required order, swap them 
(change their position) 
 Otherwise do nothing
Bubble Sort in Action: Phase 1 
3 
15 
45 
40 
8 
12 
5 
22 
14 
3 
15 
45 
40 
8 
12 
5 
22 
14 
3 
15 
45 
40 
22 
8 
12 
5 
14 
3 
15 
45 
40 
22 
8 
12 
5 
14 
3 
15 
45 
40 
8 
12 
22 
5 
14 
3 
15 
45 
40 
8 
22 
12 
5 
14 
3 
15 
45 
40 
22 
8 
12 
5 
14 
3 
45 
15 
40 
22 
8 
12 
5 
14 
45 
3 
15 
40 
22 
8 
12 
5 
14 
8 
c 
o 
mpari 
s 
o 
ns
45 
3 
15 
40 
22 
8 
12 
5 
14 
Bubble Sort in Action: Phase 2 
45 
3 
15 
40 
22 
14 
8 
12 
5 
45 
3 
15 
40 
22 
14 
8 
12 
5 
45 
3 
15 
40 
22 
8 
12 
14 
5 
45 
3 
15 
40 
22 
8 
14 
12 
5 
45 
3 
15 
40 
22 
14 
8 
12 
5 
45 
3 
40 
15 
22 
14 
8 
12 
5 
45 
40 
3 
15 
22 
14 
8 
12 
5 
7 
c 
o 
mpari 
s 
o 
ns
Bubble Sort in Action: Phase 3 
45 
40 
3 
15 
22 
14 
12 
8 
5 
45 
40 
3 
15 
22 
14 
12 
8 
5 
45 
40 
3 
15 
22 
14 
8 
12 
5 
45 
40 
3 
15 
22 
14 
8 
12 
5 
45 
40 
3 
15 
22 
14 
12 
8 
5 
45 
40 
3 
22 
15 
14 
12 
8 
5 
45 
40 
22 
3 
15 
14 
12 
8 
5 
6 
c 
o 
mpari 
s 
o 
ns
Bubble Sort in Action: Phase 4 
45 
40 
22 
3 
15 
14 
12 
8 
5 
45 
40 
22 
3 
15 
14 
12 
8 
5 
45 
40 
22 
3 
15 
14 
12 
8 
5 
45 
40 
22 
3 
15 
14 
12 
8 
5 
45 
40 
22 
3 
15 
14 
12 
8 
5 
45 
40 
22 
15 
3 
14 
12 
8 
5 
5 
c 
o 
mpari 
s 
o 
ns
Bubble Sort in Action: Phase 5 
45 
40 
22 
15 
3 
14 
12 
8 
5 
4 
c 
o 
mpari 
s 
o 
ns 
45 
40 
22 
15 
3 
14 
12 
8 
5 
45 
40 
22 
15 
3 
14 
12 
8 
5 
45 
40 
22 
15 
3 
14 
12 
8 
5 
45 
40 
22 
15 
14 
3 
12 
8 
5
Bubble Sort in Action: Phase 6 
3 
c 
o 
mpari 
s 
o 
ns 
45 
40 
22 
15 
14 
3 
12 
8 
5 
45 
40 
22 
15 
14 
3 
12 
8 
5 
45 
40 
22 
15 
14 
3 
12 
8 
5 
45 
40 
22 
15 
14 
12 
3 
8 
5
Bubble Sort in Action: Phase 7 
2 
c 
o 
mpari 
s 
o 
ns 
45 
40 
22 
15 
14 
12 
3 
8 
5 
45 
40 
22 
15 
14 
12 
3 
8 
5 
45 
40 
22 
15 
14 
12 
8 
3 
5
Bubble Sort in Action: Phase 8 
1 
c 
o 
mpari 
s 
o 
n 
45 
40 
22 
15 
14 
12 
8 
3 
5 
45 
40 
22 
15 
14 
12 
8 
5 
3
Bubble Sort Algorithm in Java 
void bubbleSort(int List[]){ 
int temp; 
int size = List.length; 
for (i = 0; i < size - 1; i++) 
for (j = 0; j < size – (i + 1); j++){ 
if (List[j] > List[j+1]){ 
temp = List[j]; 
List[j] = List[j+1]; 
List[j+1] = temp; 
} 
} 
} 
} 
Time complexity of the Bubble Sort algorithm is O(n2). Think why?
Selection Sort: Informal 
 Suppose we want to sort an array in ascending 
order: 
 Locate the smallest element in the array; swap it 
with element at index 0 
 Then, locate the next smallest element in the array; 
swap it with element at index 1. 
 Continue until all elements are arranged in order
14 
15 
45 
40 
22 
12 
8 
5 
3 
14 
15 
45 
40 
8 
12 
22 
5 
3 
14 
15 
45 
40 
8 
12 
5 
22 
3 
3 
15 
45 
40 
8 
12 
5 
22 
14 
Selection Sort in Action
Selection Sort in Action 
22 
15 
45 
40 
14 
12 
8 
5 
3 
14 
15 
45 
40 
22 
12 
8 
5 
3 
14 
15 
45 
40 
22 
12 
8 
5 
3 
22 
40 
45 
15 
14 
12 
8 
5 
3
Selection Sort in Action 
22 
45 
45 
40 
40 
40 
45 
22 
22 
15 
15 
15 
14 
14 
14 
12 
12 
12 
8 
8 
8 
5 
5 
5 
3 
3 
3 
45 
40 
22 
15 
14 
12 
8 
5 
3
Selection Sort Algorithm in Java 
void selectionSort(int List[]){ 
int temp, min; 
int size = List.length; 
for (i = 0; i < size; i++){ 
min = i; 
for (j = i + 1; j < size; j++){ 
if (List[j] < List[min]){ 
min = j; 
} 
} 
temp = List[min]; 
List[min] = List[i]; 
List[i] = temp; 
} 
} 
Time complexity of the Selection Sort algorithm is O(n2). Think why?
Bubble Sort vs. Selection Sort 
 Selection Sort is more efficient than Bubble Sort, 
because of fewer exchanges in the former 
 Both Bubble Sort and Selection Sort belong to 
the same (quadratic) complexity class (O(n2)) 
 Bubble Sort may be easy to understand as 
compared to Selection Sort – What do you think?
Insertion Sort 
Works like someone who 
inserts one more card at a time 
into a hand of cards that are 
already sorted 
To insert 12, we need to make 
room for it … 
6 10 24 
36 
12 
20
21 
6 10 24 
… by shifting first 36 
towards right… 
36 
12 
21 
Insertion Sort
… and then shifting 24 
towards right 
6 10 24 36 
12 
22 
Insertion Sort
Once room is available, 
insert the element (12 in this 
case) 
6 10 12 
24 36 
23 
Insertion Sort
Insertion Sort: Informal 
 We divide the list into two parts: Sorted and 
Unsorted parts 
 Initially 
o the sorted part contains the first element (at index 0) 
o the unsorted part contains the elements from index 1 to N-1 
 Then, we move element from index 1 to an appropriate 
position in the sorted part, keeping order intact 
 Then, we move element from index 2 to an appropriate 
position in the sorted part, keeping order intact 
... 
 Finally, we move element from index N-1 to an 
appropriate position in the sorted part, keeping order intact
Insertion Sort Algorithm in Java 
void insertionSort(int List[]){ 
int temp; 
int size = List.length; 
for (int i = 1; i < size; i++){ 
int j = i; 
temp = List[i]; 
while (j > 0 && temp < List[j - 1]){ 
List[j] = List[j - 1]; // right shifting 
j--; 
} 
List[j] = temp; 
} 
} 
Time complexity of the Insertion Sort algorithm is O(n2). Think why?
Outlook 
Next week, we’ll discuss recursion

More Related Content

PPT
Binary search tree(bst)
Hossain Md Shakhawat
 
PPT
Selection sort
stella D
 
PPTX
Insertion sort
almaqboli
 
PPT
Data Structures- Part7 linked lists
Abdullah Al-hazmy
 
PPT
Data Structure and Algorithms Binary Search Tree
ManishPrajapati78
 
PDF
Linear search algorithm
NeoClassical
 
PPTX
Radix sort
Arafat Tai
 
PPTX
joins in database
Sultan Arshad
 
Binary search tree(bst)
Hossain Md Shakhawat
 
Selection sort
stella D
 
Insertion sort
almaqboli
 
Data Structures- Part7 linked lists
Abdullah Al-hazmy
 
Data Structure and Algorithms Binary Search Tree
ManishPrajapati78
 
Linear search algorithm
NeoClassical
 
Radix sort
Arafat Tai
 
joins in database
Sultan Arshad
 

What's hot (20)

PPT
Queue data structure
anooppjoseph
 
PDF
Quick Sort , Merge Sort , Heap Sort
Mohammed Hussein
 
PPTX
Linear Search Presentation
Markajul Hasnain Alif
 
PPT
Searching algorithm
MG Thushara Pradeesh
 
PPTX
Linked List
Ashim Lamichhane
 
PPTX
Linear search-and-binary-search
International Islamic University
 
PPTX
It elective cs366 barizo radix.docx
ChristianBarizo
 
PPTX
Doubly & Circular Linked Lists
Afaq Mansoor Khan
 
PPT
List Data Structure
Zidny Nafan
 
PPTX
Joins And Its Types
Wings Interactive
 
PPTX
Linear Search Data Structure
Talha Shaikh
 
PPTX
arrays in c
vidhi mehta
 
PPTX
Binary Search Tree
sagar yadav
 
PPTX
Priority queue in DSA
junnubabu
 
PPTX
Linked list
KalaivaniKS1
 
PPT
Sql join
Vikas Gupta
 
PPTX
Data Structure and Algorithms Merge Sort
ManishPrajapati78
 
PPTX
Insertion Sorting
FarihaHabib123
 
PPTX
Data structures
Sneha Chopra
 
Queue data structure
anooppjoseph
 
Quick Sort , Merge Sort , Heap Sort
Mohammed Hussein
 
Linear Search Presentation
Markajul Hasnain Alif
 
Searching algorithm
MG Thushara Pradeesh
 
Linked List
Ashim Lamichhane
 
Linear search-and-binary-search
International Islamic University
 
It elective cs366 barizo radix.docx
ChristianBarizo
 
Doubly & Circular Linked Lists
Afaq Mansoor Khan
 
List Data Structure
Zidny Nafan
 
Joins And Its Types
Wings Interactive
 
Linear Search Data Structure
Talha Shaikh
 
arrays in c
vidhi mehta
 
Binary Search Tree
sagar yadav
 
Priority queue in DSA
junnubabu
 
Linked list
KalaivaniKS1
 
Sql join
Vikas Gupta
 
Data Structure and Algorithms Merge Sort
ManishPrajapati78
 
Insertion Sorting
FarihaHabib123
 
Data structures
Sneha Chopra
 
Ad

Similar to Data Structures- Part4 basic sorting algorithms (20)

PPTX
Analysis of Algorithm (Bubblesort and Quicksort)
Flynce Miguel
 
PDF
Sorting
Zaid Shabbir
 
PDF
Sorting
Zaid Shabbir
 
PPTX
Unit III Version I.pptx
ssuserd602fd
 
PPT
Unit6 C
arnold 7490
 
PPTX
Insertion Sort, Quick Sort And Their complexity
Motaleb Hossen Manik
 
PPTX
Searching and Sorting Techniques (DSA).pptx
sahadevbkbiet2023
 
PPT
Decimal Long Double Double Double. Represents double-precision floating-point...
Anwar Patel
 
PPT
3.2 insertion sort
Krish_ver2
 
PPTX
sorting-160810203705.pptx
AnSHiKa187943
 
PPT
Searching Sorting-SELECTION ,BUBBBLE.ppt
kunalpatil5661
 
PPT
Data Structure (MC501)
Kamal Singh Lodhi
 
PPT
Sorting algorithums > Data Structures & Algorithums
Ain-ul-Moiz Khawaja
 
PPTX
Data structure.pptx
SajalFayyaz
 
PPTX
Different Sorting tecniques in Data Structure
Tushar Gonawala
 
PPTX
sorting algorithm graphical method
Shantanu Mishra
 
PPTX
Data Structures - Lecture 8 [Sorting Algorithms]
Muhammad Hammad Waseem
 
PPT
Chapter 11 - Sorting and Searching
Eduardo Bergavera
 
PPTX
Weak 11-12 Sorting update.pptxbhjiiuuuuu
baloch4551701
 
PPTX
Searching and sorting Techniques in Data structures
PRIANKA R
 
Analysis of Algorithm (Bubblesort and Quicksort)
Flynce Miguel
 
Sorting
Zaid Shabbir
 
Sorting
Zaid Shabbir
 
Unit III Version I.pptx
ssuserd602fd
 
Unit6 C
arnold 7490
 
Insertion Sort, Quick Sort And Their complexity
Motaleb Hossen Manik
 
Searching and Sorting Techniques (DSA).pptx
sahadevbkbiet2023
 
Decimal Long Double Double Double. Represents double-precision floating-point...
Anwar Patel
 
3.2 insertion sort
Krish_ver2
 
sorting-160810203705.pptx
AnSHiKa187943
 
Searching Sorting-SELECTION ,BUBBBLE.ppt
kunalpatil5661
 
Data Structure (MC501)
Kamal Singh Lodhi
 
Sorting algorithums > Data Structures & Algorithums
Ain-ul-Moiz Khawaja
 
Data structure.pptx
SajalFayyaz
 
Different Sorting tecniques in Data Structure
Tushar Gonawala
 
sorting algorithm graphical method
Shantanu Mishra
 
Data Structures - Lecture 8 [Sorting Algorithms]
Muhammad Hammad Waseem
 
Chapter 11 - Sorting and Searching
Eduardo Bergavera
 
Weak 11-12 Sorting update.pptxbhjiiuuuuu
baloch4551701
 
Searching and sorting Techniques in Data structures
PRIANKA R
 
Ad

More from Abdullah Al-hazmy (6)

PPT
Data Structures- Part5 recursion
Abdullah Al-hazmy
 
PPT
Data Structures- Part3 arrays and searching algorithms
Abdullah Al-hazmy
 
PPT
Data Structures- Part2 analysis tools
Abdullah Al-hazmy
 
PPT
Data Structures- Part9 trees simplified
Abdullah Al-hazmy
 
PPT
Data Structures- Part8 stacks and queues
Abdullah Al-hazmy
 
PPT
Data Structures- Part1 overview and review
Abdullah Al-hazmy
 
Data Structures- Part5 recursion
Abdullah Al-hazmy
 
Data Structures- Part3 arrays and searching algorithms
Abdullah Al-hazmy
 
Data Structures- Part2 analysis tools
Abdullah Al-hazmy
 
Data Structures- Part9 trees simplified
Abdullah Al-hazmy
 
Data Structures- Part8 stacks and queues
Abdullah Al-hazmy
 
Data Structures- Part1 overview and review
Abdullah Al-hazmy
 

Recently uploaded (20)

PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PDF
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PDF
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PDF
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
PPTX
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PDF
Sunset Boulevard Student Revision Booklet
jpinnuck
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PDF
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
PDF
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
Sunset Boulevard Student Revision Booklet
jpinnuck
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
The Picture of Dorian Gray summary and depiction
opaliyahemel
 

Data Structures- Part4 basic sorting algorithms

  • 1. Data Structures I (CPCS-204) Week # 4: Sorting Algorithms
  • 2. Sorting  Motivation  Generally, to arrange a list of elements in some order  List of numbers  10 20 50 30 40 60 25 (Unsorted list)  10 20 25 30 40 50 60 (Sorted list, ascending)  60 50 40 30 25 20 10 (Sorted list, descending)  List of alphabets  P A K I S T A N (Unsorted list)  A A I K N P S T (Sorted list, ascending)  T S P N K I A A (Sorted list, descending)
  • 3. Sorting Algorithms 1. Bubble Sort 2. Selection Sort 3. Insertion Sort 4. Quick Sort 5. Merge Sort There are few more sorting algorithms; you can find them in a book on data structures and algorithms (or on the Web)
  • 4. Bubble Sort Algorithm: Informal  Repeatedly compare the elements at consecutive locations in a given list, and do the following until the elements are in required order:  If elements are not in the required order, swap them (change their position)  Otherwise do nothing
  • 5. Bubble Sort in Action: Phase 1 3 15 45 40 8 12 5 22 14 3 15 45 40 8 12 5 22 14 3 15 45 40 22 8 12 5 14 3 15 45 40 22 8 12 5 14 3 15 45 40 8 12 22 5 14 3 15 45 40 8 22 12 5 14 3 15 45 40 22 8 12 5 14 3 45 15 40 22 8 12 5 14 45 3 15 40 22 8 12 5 14 8 c o mpari s o ns
  • 6. 45 3 15 40 22 8 12 5 14 Bubble Sort in Action: Phase 2 45 3 15 40 22 14 8 12 5 45 3 15 40 22 14 8 12 5 45 3 15 40 22 8 12 14 5 45 3 15 40 22 8 14 12 5 45 3 15 40 22 14 8 12 5 45 3 40 15 22 14 8 12 5 45 40 3 15 22 14 8 12 5 7 c o mpari s o ns
  • 7. Bubble Sort in Action: Phase 3 45 40 3 15 22 14 12 8 5 45 40 3 15 22 14 12 8 5 45 40 3 15 22 14 8 12 5 45 40 3 15 22 14 8 12 5 45 40 3 15 22 14 12 8 5 45 40 3 22 15 14 12 8 5 45 40 22 3 15 14 12 8 5 6 c o mpari s o ns
  • 8. Bubble Sort in Action: Phase 4 45 40 22 3 15 14 12 8 5 45 40 22 3 15 14 12 8 5 45 40 22 3 15 14 12 8 5 45 40 22 3 15 14 12 8 5 45 40 22 3 15 14 12 8 5 45 40 22 15 3 14 12 8 5 5 c o mpari s o ns
  • 9. Bubble Sort in Action: Phase 5 45 40 22 15 3 14 12 8 5 4 c o mpari s o ns 45 40 22 15 3 14 12 8 5 45 40 22 15 3 14 12 8 5 45 40 22 15 3 14 12 8 5 45 40 22 15 14 3 12 8 5
  • 10. Bubble Sort in Action: Phase 6 3 c o mpari s o ns 45 40 22 15 14 3 12 8 5 45 40 22 15 14 3 12 8 5 45 40 22 15 14 3 12 8 5 45 40 22 15 14 12 3 8 5
  • 11. Bubble Sort in Action: Phase 7 2 c o mpari s o ns 45 40 22 15 14 12 3 8 5 45 40 22 15 14 12 3 8 5 45 40 22 15 14 12 8 3 5
  • 12. Bubble Sort in Action: Phase 8 1 c o mpari s o n 45 40 22 15 14 12 8 3 5 45 40 22 15 14 12 8 5 3
  • 13. Bubble Sort Algorithm in Java void bubbleSort(int List[]){ int temp; int size = List.length; for (i = 0; i < size - 1; i++) for (j = 0; j < size – (i + 1); j++){ if (List[j] > List[j+1]){ temp = List[j]; List[j] = List[j+1]; List[j+1] = temp; } } } } Time complexity of the Bubble Sort algorithm is O(n2). Think why?
  • 14. Selection Sort: Informal  Suppose we want to sort an array in ascending order:  Locate the smallest element in the array; swap it with element at index 0  Then, locate the next smallest element in the array; swap it with element at index 1.  Continue until all elements are arranged in order
  • 15. 14 15 45 40 22 12 8 5 3 14 15 45 40 8 12 22 5 3 14 15 45 40 8 12 5 22 3 3 15 45 40 8 12 5 22 14 Selection Sort in Action
  • 16. Selection Sort in Action 22 15 45 40 14 12 8 5 3 14 15 45 40 22 12 8 5 3 14 15 45 40 22 12 8 5 3 22 40 45 15 14 12 8 5 3
  • 17. Selection Sort in Action 22 45 45 40 40 40 45 22 22 15 15 15 14 14 14 12 12 12 8 8 8 5 5 5 3 3 3 45 40 22 15 14 12 8 5 3
  • 18. Selection Sort Algorithm in Java void selectionSort(int List[]){ int temp, min; int size = List.length; for (i = 0; i < size; i++){ min = i; for (j = i + 1; j < size; j++){ if (List[j] < List[min]){ min = j; } } temp = List[min]; List[min] = List[i]; List[i] = temp; } } Time complexity of the Selection Sort algorithm is O(n2). Think why?
  • 19. Bubble Sort vs. Selection Sort  Selection Sort is more efficient than Bubble Sort, because of fewer exchanges in the former  Both Bubble Sort and Selection Sort belong to the same (quadratic) complexity class (O(n2))  Bubble Sort may be easy to understand as compared to Selection Sort – What do you think?
  • 20. Insertion Sort Works like someone who inserts one more card at a time into a hand of cards that are already sorted To insert 12, we need to make room for it … 6 10 24 36 12 20
  • 21. 21 6 10 24 … by shifting first 36 towards right… 36 12 21 Insertion Sort
  • 22. … and then shifting 24 towards right 6 10 24 36 12 22 Insertion Sort
  • 23. Once room is available, insert the element (12 in this case) 6 10 12 24 36 23 Insertion Sort
  • 24. Insertion Sort: Informal  We divide the list into two parts: Sorted and Unsorted parts  Initially o the sorted part contains the first element (at index 0) o the unsorted part contains the elements from index 1 to N-1  Then, we move element from index 1 to an appropriate position in the sorted part, keeping order intact  Then, we move element from index 2 to an appropriate position in the sorted part, keeping order intact ...  Finally, we move element from index N-1 to an appropriate position in the sorted part, keeping order intact
  • 25. Insertion Sort Algorithm in Java void insertionSort(int List[]){ int temp; int size = List.length; for (int i = 1; i < size; i++){ int j = i; temp = List[i]; while (j > 0 && temp < List[j - 1]){ List[j] = List[j - 1]; // right shifting j--; } List[j] = temp; } } Time complexity of the Insertion Sort algorithm is O(n2). Think why?
  • 26. Outlook Next week, we’ll discuss recursion