SlideShare a Scribd company logo
SEARCHING & SORTINGSEARCHING & SORTING
ALGORITHMSALGORITHMS
GOKUL H
SEARCHING ALGORITHMS
BINARY INTERPOLATIONLINEAR
LINEAR SEARCH

Basic and simplest search algorithm

Searches an element or value from a list in a sequential order
till the desired element or value is found or the end of the list is
encountered

On successful search it returns the index of the value else it
returns -1

Search is applied on unsorted list when there are fewer
elements in the list

Time consuming and Inefficient for big lists
LINEAR SEARCH
Loop
start
Initialize array
and search KEY
If key==array[i]
stop
KEY found at i
yes
No
yes
No
8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9
8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9
8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9
8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9
8 7 15 12 4 9
0 1 2 3 4 5
Search KEY=12
KEY ‘12’ found @ 3
BINARY SEARCH

Improvement over the sequential search

Work only if the list is sorted

Approach employed is divide and conquer

Here, the approximate middle element of the array is located and its
value is examined

If its value is too high, then the value of the middle element of the first
half of the array is examined and the procedure is repeated until the
required item is found

If the value is too low, then the value of the middle element of the
second half of the array is checked and the procedure is repeated
INTERPOLATION SEARCH
 In Binary search, mid = (high + low)/2
Why the middle element?
What if we had a better estimate of the location of the key?
Binary Search always checks the value at middle index. But Interpolation
search may check at different locations based on the value of element
being searched
Interpolation search uses the values of arr[low] and arr[high] to estimate
the position of the key, also known as probing
INTERPOLATION SEARCH
1 2 3 4 5 6 7 8 9 10
Assuming a linear distribution of keys in the array
mid = low + ((key - arr[low]) * (high - low)) / (arr[high] -
arr[low])
key
mid = 0+[(3-1)*(9-0)] / (10-1)=2
So arr[2]=3 which is the key value
Search is success:
1 2 3 4 5 6 7 8 9 10
SORTING
Insertion Quick Shell HeapBubble Selection Merge
BUBBLE SORT

Bubble sort works by comparing each item in the list with the
item next to it and swapping them if required

The algorithm repeats this process until it makes a pass all the
way through the list without swapping any items (in other words,
all items are in the correct order)

This causes larger values to ‘bubble’ to the end of the list while
smaller values ‘sink’ towards the beginning of the list

In brief, the bubble sort derives its name from the fact that the
smallest data item bubbles up to the top of the sorted array
BUBBLE SORT
First iteration
Second Iteration
Third Iteration
Sorted array
SELECTION SORT

Selection sort algorithm sorts an array by repeatedly finding the
minimum element (considering ascending order) from unsorted
part and putting it at the beginning

Algorithm maintains two subarrays in a given array
a.sorted array
b.unsorted array

In every iteration of selection sort, the minimum element
(considering ascending order)from the unsorted subarray is
picked and moved to the sorted subarray
SELECTION SORT
ALGORITHM
Step 1 − Set MIN to location 0
Step 2 − Search the minimum element
in the list
Step 3 − Swap with value at location
MIN
Step 4 − Increment MIN to point to next
element
Step 5 − Repeat until list is sorted
SELECTION SORT
Index<length-1
Find smallest element
In array between Index
and length-1
Swap smallest element
found above with
element at Index
Index++
start
end
Index=0
TRUE
FALSE
INSERTION SORT

In-place comparison-based sorting algorithm

Here, a sub-list is maintained which is always sorted

For example, the lower part of an array is maintained to be
sorted

An element which is to be 'insert'ed in this sorted sub-list, has to
find its appropriate place and then it has to be inserted there.
Hence the name, insertion sort.

The array is searched sequentially and unsorted items are
moved and inserted into the sorted sub-list (in the same array)
ALGORITHM
Step 1 − If it is the first element, it is already sorted. return 1;
Step 2 − Pick next element
Step 3 − Compare with all elements in the sorted sub-list
Step 4 − Shift all the elements in the sorted sub-list that is greater than the value to be sorted
Step 5 − Insert the value
Step 6 − Repeat until list is sorted
This process goes on…….
QUICK SORT

Based on partitioning of array of data into smaller arrays

A large array is partitioned into two arrays

One of which holds values smaller than the specified value, say
pivot, based on which the partition is made

Another array holds values greater than the pivot value
ALGORITHM
Step 1 − Choose the highest index value has pivot
Step 2 − Take two variables to point left and right of the list excluding pivot
Step 3 − left points to the low index
Step 4 − right points to the high
Step 5 − while value at left is less than pivot move right
Step 6 − while value at right is greater than pivot move left
Step 7 − if both step 5 and step 6 does not match swap left and right
Step 8 − if left right, the point where they met is new pivot≥
SHELL SORT

Highly efficient sorting algorithm and is based on insertion sort
algorithm

Avoids large shifts as in case of insertion sort, if the smaller
value is to the far right and has to be moved to the far left

Uses insertion sort on a widely spread elements, first to sort
them and then sorts the less widely spaced elements
ALGORITHM
Step 1 − Initialize the value of h
Step 2 − Divide the list into smaller sub-list of
equal Interval h
Step 3 − Sort these sub-lists using insertion sort
Step 3 − Repeat until complete list is sorted
HEAP SORT

Heap Sort is one of the best sorting methods being in-place and
with no quadratic worst-case scenarios. Heap sort algorithm is
divided into two basic parts

Creating a Heap of the unsorted list

Then a sorted array is created by repeatedly removing the
largest/smallest element from the heap, and inserting it into the
array

The heap is reconstructed after each removal
Max Heap Construction Algorithm
Step 1 Create a new node at the end of heap.
Step 2 Assign new value to the node.
Step 3 Compare the value of this child node with its
parent.
Step 4 If value of parent is less than child,then
swap them.
Step 5 Repeat step 3 & 4 until Heap property
holds.
Max Heap Deletion Algorithm
Step 1 − Remove root node.
Step 2 − Move the last element of last level to root.
Step 3 − Compare the value of this child node with
its parent.
Step 4 − If value of parent is less than child, then
swap them.
Step 5 − Re peat step 3 & 4 until Heap property
holds.
MERGE SORT

Sorting technique based on divide and conquer technique.

Merge sort first divides the array into equal halves and then combines
them in a sorted manner.
ALGORITHM
Step 1 − if it is only one element in the list it is already sorted, return.
Step 2 − divide the list recursively into two halves until it can no more
be divided.
Step 3 − merge the smaller lists into new list in sorted order.
ALGORITHM
Step 1 − if it is only one element in the list it is already sorted, return.
Step 2 − divide the list recursively into two halves until it can no more be divided.
Step 3 − merge the smaller lists into new list in sorted order.
THANKK YOUUU!!!!!!

More Related Content

What's hot

Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
Janki Shah
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
shameen khan
 
Searching & Sorting Algorithms
Searching & Sorting AlgorithmsSearching & Sorting Algorithms
Searching & Sorting Algorithms
Rahul Jamwal
 
Queue ppt
Queue pptQueue ppt
Queue ppt
SouravKumar328
 
sorting and its types
sorting and its typessorting and its types
sorting and its types
SIVASHANKARIRAJAN
 
Binary Search
Binary SearchBinary Search
Binary Search
kunj desai
 
Linear Search Presentation
Linear Search PresentationLinear Search Presentation
Linear Search Presentation
Markajul Hasnain Alif
 
Binary search
Binary searchBinary search
Binary search
AparnaKumari31
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
SHAKOOR AB
 
Hashing
HashingHashing
Hashing
Amar Jukuntla
 
Hashing PPT
Hashing PPTHashing PPT
Hashing PPT
Saurabh Kumar
 
Tree - Data Structure
Tree - Data StructureTree - Data Structure
Tree - Data Structure
Ashim Lamichhane
 
Data Structures - Searching & sorting
Data Structures - Searching & sortingData Structures - Searching & sorting
Data Structures - Searching & sorting
Kaushal Shah
 
STACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURESTACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURE
Archie Jamwal
 
Introduction to data structure ppt
Introduction to data structure pptIntroduction to data structure ppt
Introduction to data structure ppt
NalinNishant3
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary tree
Krish_ver2
 
AVL Tree in Data Structure
AVL Tree in Data Structure AVL Tree in Data Structure
AVL Tree in Data Structure
Vrushali Dhanokar
 
Priority Queue in Data Structure
Priority Queue in Data StructurePriority Queue in Data Structure
Priority Queue in Data Structure
Meghaj Mallick
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applicationsJsaddam Hussain
 

What's hot (20)

Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
 
Searching & Sorting Algorithms
Searching & Sorting AlgorithmsSearching & Sorting Algorithms
Searching & Sorting Algorithms
 
Queue ppt
Queue pptQueue ppt
Queue ppt
 
sorting and its types
sorting and its typessorting and its types
sorting and its types
 
Binary Search
Binary SearchBinary Search
Binary Search
 
Linear Search Presentation
Linear Search PresentationLinear Search Presentation
Linear Search Presentation
 
Binary search
Binary searchBinary search
Binary search
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
 
Hashing
HashingHashing
Hashing
 
Hashing PPT
Hashing PPTHashing PPT
Hashing PPT
 
single linked list
single linked listsingle linked list
single linked list
 
Tree - Data Structure
Tree - Data StructureTree - Data Structure
Tree - Data Structure
 
Data Structures - Searching & sorting
Data Structures - Searching & sortingData Structures - Searching & sorting
Data Structures - Searching & sorting
 
STACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURESTACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURE
 
Introduction to data structure ppt
Introduction to data structure pptIntroduction to data structure ppt
Introduction to data structure ppt
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary tree
 
AVL Tree in Data Structure
AVL Tree in Data Structure AVL Tree in Data Structure
AVL Tree in Data Structure
 
Priority Queue in Data Structure
Priority Queue in Data StructurePriority Queue in Data Structure
Priority Queue in Data Structure
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applications
 

Similar to SEARCHING AND SORTING ALGORITHMS

data structures and algorithms Unit 3
data structures and algorithms Unit 3data structures and algorithms Unit 3
data structures and algorithms Unit 3
infanciaj
 
sorting and searching.pptx
sorting and searching.pptxsorting and searching.pptx
sorting and searching.pptx
ParagAhir1
 
Data Structures_ Sorting & Searching
Data Structures_ Sorting & SearchingData Structures_ Sorting & Searching
Data Structures_ Sorting & Searching
ThenmozhiK5
 
DS - Unit 2 FINAL (2).pptx
DS - Unit 2 FINAL (2).pptxDS - Unit 2 FINAL (2).pptx
DS - Unit 2 FINAL (2).pptx
prakashvs7
 
advanced searching and sorting.pdf
advanced searching and sorting.pdfadvanced searching and sorting.pdf
advanced searching and sorting.pdf
haramaya university
 
MODULE 5-Searching and-sorting
MODULE 5-Searching and-sortingMODULE 5-Searching and-sorting
MODULE 5-Searching and-sorting
nikshaikh786
 
Searching Sorting
Searching SortingSearching Sorting
Searching Sortingguest2cb109
 
Searching,sorting
Searching,sortingSearching,sorting
Searching,sorting
LavanyaJ28
 
Data structures arrays
Data structures   arraysData structures   arrays
Data structures arrays
maamir farooq
 
Unit 6 dsa SEARCHING AND SORTING
Unit 6 dsa SEARCHING AND SORTINGUnit 6 dsa SEARCHING AND SORTING
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHIBCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
Sowmya Jyothi
 
Sorting
SortingSorting
Sorting types and Algorithms
Sorting types and AlgorithmsSorting types and Algorithms
Sorting types and Algorithms
Ali Khan
 
Data structure using c module 3
Data structure using c module 3Data structure using c module 3
Data structure using c module 3
smruti sarangi
 
Arrays
ArraysArrays
Arrays
uos
 
Lecture_Oct26.pptx
Lecture_Oct26.pptxLecture_Oct26.pptx
Lecture_Oct26.pptx
SylrizcinMarieManzo3
 
Sorting
SortingSorting
366 it elective 4 (analysis of algoritm)
366 it elective 4 (analysis of algoritm)366 it elective 4 (analysis of algoritm)
366 it elective 4 (analysis of algoritm)
Neil Soliven
 

Similar to SEARCHING AND SORTING ALGORITHMS (20)

data structures and algorithms Unit 3
data structures and algorithms Unit 3data structures and algorithms Unit 3
data structures and algorithms Unit 3
 
sorting and searching.pptx
sorting and searching.pptxsorting and searching.pptx
sorting and searching.pptx
 
Data Structures_ Sorting & Searching
Data Structures_ Sorting & SearchingData Structures_ Sorting & Searching
Data Structures_ Sorting & Searching
 
DS - Unit 2 FINAL (2).pptx
DS - Unit 2 FINAL (2).pptxDS - Unit 2 FINAL (2).pptx
DS - Unit 2 FINAL (2).pptx
 
Heap, quick and merge sort
Heap, quick and merge sortHeap, quick and merge sort
Heap, quick and merge sort
 
advanced searching and sorting.pdf
advanced searching and sorting.pdfadvanced searching and sorting.pdf
advanced searching and sorting.pdf
 
MODULE 5-Searching and-sorting
MODULE 5-Searching and-sortingMODULE 5-Searching and-sorting
MODULE 5-Searching and-sorting
 
Unit v data structure-converted
Unit  v data structure-convertedUnit  v data structure-converted
Unit v data structure-converted
 
Searching Sorting
Searching SortingSearching Sorting
Searching Sorting
 
Searching,sorting
Searching,sortingSearching,sorting
Searching,sorting
 
Data structures arrays
Data structures   arraysData structures   arrays
Data structures arrays
 
Unit 6 dsa SEARCHING AND SORTING
Unit 6 dsa SEARCHING AND SORTINGUnit 6 dsa SEARCHING AND SORTING
Unit 6 dsa SEARCHING AND SORTING
 
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHIBCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES SEARCHING AND SORTING MRS.SOWMYA JYOTHI
 
Sorting
SortingSorting
Sorting
 
Sorting types and Algorithms
Sorting types and AlgorithmsSorting types and Algorithms
Sorting types and Algorithms
 
Data structure using c module 3
Data structure using c module 3Data structure using c module 3
Data structure using c module 3
 
Arrays
ArraysArrays
Arrays
 
Lecture_Oct26.pptx
Lecture_Oct26.pptxLecture_Oct26.pptx
Lecture_Oct26.pptx
 
Sorting
SortingSorting
Sorting
 
366 it elective 4 (analysis of algoritm)
366 it elective 4 (analysis of algoritm)366 it elective 4 (analysis of algoritm)
366 it elective 4 (analysis of algoritm)
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

SEARCHING AND SORTING ALGORITHMS

  • 1. SEARCHING & SORTINGSEARCHING & SORTING ALGORITHMSALGORITHMS GOKUL H
  • 3. LINEAR SEARCH  Basic and simplest search algorithm  Searches an element or value from a list in a sequential order till the desired element or value is found or the end of the list is encountered  On successful search it returns the index of the value else it returns -1  Search is applied on unsorted list when there are fewer elements in the list  Time consuming and Inefficient for big lists
  • 4. LINEAR SEARCH Loop start Initialize array and search KEY If key==array[i] stop KEY found at i yes No yes No 8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9 8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9 8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9 8 7 15 12 4 98 7 15 12 4 98 7 15 12 4 98 7 15 12 4 9 8 7 15 12 4 9 0 1 2 3 4 5 Search KEY=12 KEY ‘12’ found @ 3
  • 5. BINARY SEARCH  Improvement over the sequential search  Work only if the list is sorted  Approach employed is divide and conquer  Here, the approximate middle element of the array is located and its value is examined  If its value is too high, then the value of the middle element of the first half of the array is examined and the procedure is repeated until the required item is found  If the value is too low, then the value of the middle element of the second half of the array is checked and the procedure is repeated
  • 6.
  • 7. INTERPOLATION SEARCH  In Binary search, mid = (high + low)/2 Why the middle element? What if we had a better estimate of the location of the key? Binary Search always checks the value at middle index. But Interpolation search may check at different locations based on the value of element being searched Interpolation search uses the values of arr[low] and arr[high] to estimate the position of the key, also known as probing
  • 8. INTERPOLATION SEARCH 1 2 3 4 5 6 7 8 9 10 Assuming a linear distribution of keys in the array mid = low + ((key - arr[low]) * (high - low)) / (arr[high] - arr[low]) key mid = 0+[(3-1)*(9-0)] / (10-1)=2 So arr[2]=3 which is the key value Search is success: 1 2 3 4 5 6 7 8 9 10
  • 9. SORTING Insertion Quick Shell HeapBubble Selection Merge
  • 10. BUBBLE SORT  Bubble sort works by comparing each item in the list with the item next to it and swapping them if required  The algorithm repeats this process until it makes a pass all the way through the list without swapping any items (in other words, all items are in the correct order)  This causes larger values to ‘bubble’ to the end of the list while smaller values ‘sink’ towards the beginning of the list  In brief, the bubble sort derives its name from the fact that the smallest data item bubbles up to the top of the sorted array
  • 11. BUBBLE SORT First iteration Second Iteration Third Iteration Sorted array
  • 12. SELECTION SORT  Selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning  Algorithm maintains two subarrays in a given array a.sorted array b.unsorted array  In every iteration of selection sort, the minimum element (considering ascending order)from the unsorted subarray is picked and moved to the sorted subarray
  • 13. SELECTION SORT ALGORITHM Step 1 − Set MIN to location 0 Step 2 − Search the minimum element in the list Step 3 − Swap with value at location MIN Step 4 − Increment MIN to point to next element Step 5 − Repeat until list is sorted
  • 14. SELECTION SORT Index<length-1 Find smallest element In array between Index and length-1 Swap smallest element found above with element at Index Index++ start end Index=0 TRUE FALSE
  • 15. INSERTION SORT  In-place comparison-based sorting algorithm  Here, a sub-list is maintained which is always sorted  For example, the lower part of an array is maintained to be sorted  An element which is to be 'insert'ed in this sorted sub-list, has to find its appropriate place and then it has to be inserted there. Hence the name, insertion sort.  The array is searched sequentially and unsorted items are moved and inserted into the sorted sub-list (in the same array)
  • 16. ALGORITHM Step 1 − If it is the first element, it is already sorted. return 1; Step 2 − Pick next element Step 3 − Compare with all elements in the sorted sub-list Step 4 − Shift all the elements in the sorted sub-list that is greater than the value to be sorted Step 5 − Insert the value Step 6 − Repeat until list is sorted This process goes on…….
  • 17. QUICK SORT  Based on partitioning of array of data into smaller arrays  A large array is partitioned into two arrays  One of which holds values smaller than the specified value, say pivot, based on which the partition is made  Another array holds values greater than the pivot value
  • 18. ALGORITHM Step 1 − Choose the highest index value has pivot Step 2 − Take two variables to point left and right of the list excluding pivot Step 3 − left points to the low index Step 4 − right points to the high Step 5 − while value at left is less than pivot move right Step 6 − while value at right is greater than pivot move left Step 7 − if both step 5 and step 6 does not match swap left and right Step 8 − if left right, the point where they met is new pivot≥
  • 19.
  • 20. SHELL SORT  Highly efficient sorting algorithm and is based on insertion sort algorithm  Avoids large shifts as in case of insertion sort, if the smaller value is to the far right and has to be moved to the far left  Uses insertion sort on a widely spread elements, first to sort them and then sorts the less widely spaced elements
  • 21. ALGORITHM Step 1 − Initialize the value of h Step 2 − Divide the list into smaller sub-list of equal Interval h Step 3 − Sort these sub-lists using insertion sort Step 3 − Repeat until complete list is sorted
  • 22. HEAP SORT  Heap Sort is one of the best sorting methods being in-place and with no quadratic worst-case scenarios. Heap sort algorithm is divided into two basic parts  Creating a Heap of the unsorted list  Then a sorted array is created by repeatedly removing the largest/smallest element from the heap, and inserting it into the array  The heap is reconstructed after each removal
  • 23. Max Heap Construction Algorithm Step 1 Create a new node at the end of heap. Step 2 Assign new value to the node. Step 3 Compare the value of this child node with its parent. Step 4 If value of parent is less than child,then swap them. Step 5 Repeat step 3 & 4 until Heap property holds. Max Heap Deletion Algorithm Step 1 − Remove root node. Step 2 − Move the last element of last level to root. Step 3 − Compare the value of this child node with its parent. Step 4 − If value of parent is less than child, then swap them. Step 5 − Re peat step 3 & 4 until Heap property holds.
  • 24.
  • 25. MERGE SORT  Sorting technique based on divide and conquer technique.  Merge sort first divides the array into equal halves and then combines them in a sorted manner. ALGORITHM Step 1 − if it is only one element in the list it is already sorted, return. Step 2 − divide the list recursively into two halves until it can no more be divided. Step 3 − merge the smaller lists into new list in sorted order.
  • 26. ALGORITHM Step 1 − if it is only one element in the list it is already sorted, return. Step 2 − divide the list recursively into two halves until it can no more be divided. Step 3 − merge the smaller lists into new list in sorted order.