SlideShare une entreprise Scribd logo
1  sur  13
Description: A detailed discussion about algorithms and their
measures, and understanding sorting.
Duration: 90 minutes
Starts at: Saturday 12th May 2013, 11:00AM
-by Dharmendra Prasad
1
Table of Contents
1. Continuing the Sorting Algorithms.
1. Quick Sort (in place sorting algorithm)
2. Searching Algorithms
1. Binary search
3. Some real world problem scenarios.
1. Substring search
2
Algorithm:
It’s a divide and conquer algorithm.
 Step1(Divide): Partition a given array into 2 sub arrays around
a pivot ‘x’ such that the elements in lower sub array <= x <=
elements in upper sub array.
 Step2(Conquer):Recursively sort 2 sub arrays.
 Step3(Combine):Do nothing as it is in place sorting.
3
Partition(A, p, q) //A[p , q]
X ← A[p]
i ← p
for j ← p+1 to q
do if A[j] <= x
then i ← i+1
exchange A[i] ↔ A[j]
exchange A[p] ↔ A[i];
return i
4
A
p qi j
5
 Example:
6 10 13 5 8 3 2 11
X = 6, i = 0, j = 1
6 5 13 10 8 3 2 11
6 5 3 10 8 13 2 11
6 5 3 2 8 13 10 11
Swap pivot with i
2 5 3 6 8 13 10 11
Algorithm:
QuickSort(A, p, q)
if p < q
then r <- Partition(A, p, q)
QuickSort( A, p, r-1)
QuickSort( A, r+1, q)
Initial Call : QuickSort( A, 1, n)
6
Order Statistics:
Problem Statement: Given an array of numbers, find the kth
smallest number.
Naïve Solution: Sort the array and return the element at index k.
Case1: if k = 1, we are referring to the minimum number in the
array.
Case2: if k = length of the array, we are referring to the
maximum number in the array.
Case3: when k lies between 1 and n where n is the length of the
array
7
Algorithm:
OrderStat(A,p,q,k) // means kth smallest number in A between
index p and q
if p==q
return A[p]
r <- Partition(A,p,q)
i <- r – p + 1;
if k == i
return A[r]
if k < i
return OrderStat(A,p,r-1,k)
else
return OrderStat(A,r+1,q,k-i)
8
Searching:
Basic Idea: In an array A[a1,a2,a3,a4,…,an] find the index k
such that p = A[k]
Naïve Solution: Traverse through the array in a loop and
compare each element with the given number. If the number
matches, return the index of the number else return null.
Algorithm:
Search (A[1.. n], p)
for i<- 1 to n
do if A[i] == p
return i
return null
9
Searching:
Basic Idea: In an array A[a1,a2,a3,a4,…,an] find the index k such
that p = A[k]
Binary Search Solution: Only if the array is sorted. Divide it into two
halves, check the element at the center, if it is less than what we
are searching, look into the upper half else look into the lower
half. Repeat till you find the number or the array exhausts.
Algorithm:
BinarySearch (A, p, low,high)
middle = (low+high)/2
if A[middle] == p
return middle;
else if A[middle] > p
return BinarySearch(A, p, low, middle-1)
else
return BinarySearch(A,p,middle+1,high)
10
Special Case Substring Searching:
Basic Idea: In a character string search a substring and return the index of first occurrence.
Naive Solution: Start from the first index of both the strings, compare the characters, if
character matches, compare the next character and so on till the substring exhausts.
Return the start index of the substring in the main string.
Algorithm:
SubStringSearch (S, sb)
j=0;
match = false;
while i < S.length or j < sb.length
if S[i] == sb[j]
match = true
i++, j++
else
match = false
j=0, i++
if match == true and j = sb.length
return i-sb.length
else
return -1
11
Special Case Substring Searching:
Basic Idea: In a character string search a substring and return
the index of first occurrence.
Better Solution: Boyre Moore algorithm is used to effectively
search substring in a given string.
12
Question
&
Answers
13

Contenu connexe

Tendances

Chapter 14 Searching and Sorting
Chapter 14 Searching and SortingChapter 14 Searching and Sorting
Chapter 14 Searching and SortingMuhammadBakri13
 
Searching & Sorting Algorithms
Searching & Sorting AlgorithmsSearching & Sorting Algorithms
Searching & Sorting AlgorithmsRahul Jamwal
 
Divide and conquer 1
Divide and conquer 1Divide and conquer 1
Divide and conquer 1Kumar
 
Binary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of AlgorithmsBinary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of AlgorithmsDrishti Bhalla
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sortingFadhil Ismail
 
Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Hossain Md Shakhawat
 
Lect11 Sorting
Lect11 SortingLect11 Sorting
Lect11 Sortingryokollll
 
Chapter 11 - Sorting and Searching
Chapter 11 - Sorting and SearchingChapter 11 - Sorting and Searching
Chapter 11 - Sorting and SearchingEduardo Bergavera
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting AlgorithmsPranay Neema
 
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsData Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsAbdullah Al-hazmy
 
Algorithm & data structures lec4&5
Algorithm & data structures lec4&5Algorithm & data structures lec4&5
Algorithm & data structures lec4&5Abdul Khan
 
Binary search
Binary search Binary search
Binary search Raghu nath
 

Tendances (20)

Sorting
SortingSorting
Sorting
 
Chapter 14 Searching and Sorting
Chapter 14 Searching and SortingChapter 14 Searching and Sorting
Chapter 14 Searching and Sorting
 
Sorting ppt
Sorting pptSorting ppt
Sorting ppt
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Searching & Sorting Algorithms
Searching & Sorting AlgorithmsSearching & Sorting Algorithms
Searching & Sorting Algorithms
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Best,worst,average case .17581556 045
Best,worst,average case .17581556 045Best,worst,average case .17581556 045
Best,worst,average case .17581556 045
 
Divide and conquer 1
Divide and conquer 1Divide and conquer 1
Divide and conquer 1
 
Binary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of AlgorithmsBinary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of Algorithms
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting
 
Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)
 
Lect11 Sorting
Lect11 SortingLect11 Sorting
Lect11 Sorting
 
Searching algorithms
Searching algorithmsSearching algorithms
Searching algorithms
 
Chapter 11 - Sorting and Searching
Chapter 11 - Sorting and SearchingChapter 11 - Sorting and Searching
Chapter 11 - Sorting and Searching
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsData Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithms
 
Algorithm & data structures lec4&5
Algorithm & data structures lec4&5Algorithm & data structures lec4&5
Algorithm & data structures lec4&5
 
Binary search
Binary search Binary search
Binary search
 
Quicksort
QuicksortQuicksort
Quicksort
 

En vedette

En vedette (10)

Lecture 2c stacks
Lecture 2c stacksLecture 2c stacks
Lecture 2c stacks
 
Lecture 2 data structures & algorithms - sorting techniques
Lecture 2  data structures & algorithms - sorting techniquesLecture 2  data structures & algorithms - sorting techniques
Lecture 2 data structures & algorithms - sorting techniques
 
Arrays
ArraysArrays
Arrays
 
C# Arrays
C# ArraysC# Arrays
C# Arrays
 
Arrays C#
Arrays C#Arrays C#
Arrays C#
 
Lecture 2a arrays
Lecture 2a arraysLecture 2a arrays
Lecture 2a arrays
 
queue & its applications
queue & its applicationsqueue & its applications
queue & its applications
 
Lecture17 arrays.ppt
Lecture17 arrays.pptLecture17 arrays.ppt
Lecture17 arrays.ppt
 
Arrays
ArraysArrays
Arrays
 
Array in c language
Array in c languageArray in c language
Array in c language
 

Similaire à Lecture 3 data structures & algorithms - sorting techniques - http://techieme.in

Similaire à Lecture 3 data structures & algorithms - sorting techniques - http://techieme.in (20)

DAA-Divide and Conquer methodology, DAA 2024
DAA-Divide and Conquer methodology, DAA 2024DAA-Divide and Conquer methodology, DAA 2024
DAA-Divide and Conquer methodology, DAA 2024
 
lecture 10
lecture 10lecture 10
lecture 10
 
algorithm Unit 2
algorithm Unit 2 algorithm Unit 2
algorithm Unit 2
 
Unit 2 in daa
Unit 2 in daaUnit 2 in daa
Unit 2 in daa
 
Daa chapter5
Daa chapter5Daa chapter5
Daa chapter5
 
module2_dIVIDEncONQUER_2022.pdf
module2_dIVIDEncONQUER_2022.pdfmodule2_dIVIDEncONQUER_2022.pdf
module2_dIVIDEncONQUER_2022.pdf
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Sorting pnk
Sorting pnkSorting pnk
Sorting pnk
 
data structures and algorithms Unit 3
data structures and algorithms Unit 3data structures and algorithms Unit 3
data structures and algorithms Unit 3
 
21-algorithms (1).ppt
21-algorithms (1).ppt21-algorithms (1).ppt
21-algorithms (1).ppt
 
21-algorithms.ppt
21-algorithms.ppt21-algorithms.ppt
21-algorithms.ppt
 
Algorithm, Pseudocode and Flowcharting in C++
Algorithm, Pseudocode and Flowcharting in C++Algorithm, Pseudocode and Flowcharting in C++
Algorithm, Pseudocode and Flowcharting in C++
 
Data structures arrays
Data structures   arraysData structures   arrays
Data structures arrays
 
Counting Sort Lowerbound
Counting Sort LowerboundCounting Sort Lowerbound
Counting Sort Lowerbound
 
21-algorithms.ppt
21-algorithms.ppt21-algorithms.ppt
21-algorithms.ppt
 
Lect-2.pptx
Lect-2.pptxLect-2.pptx
Lect-2.pptx
 
CSE680-07QuickSort.pptx
CSE680-07QuickSort.pptxCSE680-07QuickSort.pptx
CSE680-07QuickSort.pptx
 
lecture 11
lecture 11lecture 11
lecture 11
 
Unit6 C
Unit6 C Unit6 C
Unit6 C
 
Sorting2
Sorting2Sorting2
Sorting2
 

Dernier

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 

Dernier (20)

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 

Lecture 3 data structures & algorithms - sorting techniques - http://techieme.in

  • 1. Description: A detailed discussion about algorithms and their measures, and understanding sorting. Duration: 90 minutes Starts at: Saturday 12th May 2013, 11:00AM -by Dharmendra Prasad 1
  • 2. Table of Contents 1. Continuing the Sorting Algorithms. 1. Quick Sort (in place sorting algorithm) 2. Searching Algorithms 1. Binary search 3. Some real world problem scenarios. 1. Substring search 2
  • 3. Algorithm: It’s a divide and conquer algorithm.  Step1(Divide): Partition a given array into 2 sub arrays around a pivot ‘x’ such that the elements in lower sub array <= x <= elements in upper sub array.  Step2(Conquer):Recursively sort 2 sub arrays.  Step3(Combine):Do nothing as it is in place sorting. 3
  • 4. Partition(A, p, q) //A[p , q] X ← A[p] i ← p for j ← p+1 to q do if A[j] <= x then i ← i+1 exchange A[i] ↔ A[j] exchange A[p] ↔ A[i]; return i 4 A p qi j
  • 5. 5  Example: 6 10 13 5 8 3 2 11 X = 6, i = 0, j = 1 6 5 13 10 8 3 2 11 6 5 3 10 8 13 2 11 6 5 3 2 8 13 10 11 Swap pivot with i 2 5 3 6 8 13 10 11
  • 6. Algorithm: QuickSort(A, p, q) if p < q then r <- Partition(A, p, q) QuickSort( A, p, r-1) QuickSort( A, r+1, q) Initial Call : QuickSort( A, 1, n) 6
  • 7. Order Statistics: Problem Statement: Given an array of numbers, find the kth smallest number. Naïve Solution: Sort the array and return the element at index k. Case1: if k = 1, we are referring to the minimum number in the array. Case2: if k = length of the array, we are referring to the maximum number in the array. Case3: when k lies between 1 and n where n is the length of the array 7
  • 8. Algorithm: OrderStat(A,p,q,k) // means kth smallest number in A between index p and q if p==q return A[p] r <- Partition(A,p,q) i <- r – p + 1; if k == i return A[r] if k < i return OrderStat(A,p,r-1,k) else return OrderStat(A,r+1,q,k-i) 8
  • 9. Searching: Basic Idea: In an array A[a1,a2,a3,a4,…,an] find the index k such that p = A[k] Naïve Solution: Traverse through the array in a loop and compare each element with the given number. If the number matches, return the index of the number else return null. Algorithm: Search (A[1.. n], p) for i<- 1 to n do if A[i] == p return i return null 9
  • 10. Searching: Basic Idea: In an array A[a1,a2,a3,a4,…,an] find the index k such that p = A[k] Binary Search Solution: Only if the array is sorted. Divide it into two halves, check the element at the center, if it is less than what we are searching, look into the upper half else look into the lower half. Repeat till you find the number or the array exhausts. Algorithm: BinarySearch (A, p, low,high) middle = (low+high)/2 if A[middle] == p return middle; else if A[middle] > p return BinarySearch(A, p, low, middle-1) else return BinarySearch(A,p,middle+1,high) 10
  • 11. Special Case Substring Searching: Basic Idea: In a character string search a substring and return the index of first occurrence. Naive Solution: Start from the first index of both the strings, compare the characters, if character matches, compare the next character and so on till the substring exhausts. Return the start index of the substring in the main string. Algorithm: SubStringSearch (S, sb) j=0; match = false; while i < S.length or j < sb.length if S[i] == sb[j] match = true i++, j++ else match = false j=0, i++ if match == true and j = sb.length return i-sb.length else return -1 11
  • 12. Special Case Substring Searching: Basic Idea: In a character string search a substring and return the index of first occurrence. Better Solution: Boyre Moore algorithm is used to effectively search substring in a given string. 12