SlideShare a Scribd company logo
2
Most read
8
Most read
LINEAR SEARCH ALGORITHM
Algorithm involves checking all the elements
of the array(or any other structure) one by
one and in sequence until the desired result
is found.
Daily life example
If you are asked to find the name of the person having
phone number say “1234” with the help of a telephone
directory .
Since telephone directory is sorted by name not by
numbers,we have to go through each and every number
of the directory
Best case
● If the first number in the directory is the number you
were searching for ,then lucky you!!.
● Since you have found it on the very first page,now its
not important for you that how many pages are there in
the directory.
● Whether if it is of 1000 pages or 2000 pages it will take
u same time to find you the number ,if it is at the very
beginning .
● So it does not depends on no. on elements in the
directory.Hence constant time .
InBig O notation : 0(1)
Worst Case
It may happen that the number you are searching for is the last
number of directory or if it is not in the directory at all.
In that case you have to search the whole directory.
Now number of elements will matter to you.if there are 500 pages
,you have to search 500;if it has 1000 you have to search 1000.
Your search time is proportional to number of elements in the
directory. In big O notation O(n)
No of elements

No of comparisons to be done

15

15

600

600
Pseudocode
For all elements
Check if it is equal to element being searched
for.
If it is ,return its position.
else continue.
C++ code [Iterative]
void iterSearch(const double data [ ],int n,double key) //const for safety ,we want to keep array unchanged

{
for(int i=0;i<=n-1;i++)

//looping through all elements of the array

{
if(data[i]==key)
{
cout<<key<<" found at index "<<i<<" of the array"<<endl;
break;

//if element is found,come out of the loop

}
if(i==n-1)

//searched through the array,still not found

cout<<"n Element not found n";
}
}
Recursive Linear Search
bool recursiveSearch (const double data[ ],int n,double key)

{
static int i=0;

//static will prevent i being initialised to 0 every time we enter the function

if(data[i]==key)
{

cout<<key<<" found at index "<<i<<" of the array"<<endl;
return true; //this will end recursion which is desired as the element has been found

}
else

{ ++i;
if(i==n)
{
cout<<"nElemnent not foundn";
}
recursiveSearch(data,n,key);
}
}

i=0;

return false; //i=0 to reset i for next search.
Discussions
1.Sorted array is not needed.
2.Works fine for small number of elements .Search time
increases with number of elements.
3.Elements with higher probability of being searched
should be kept in the beginning.
4.Trick: Get completely rid of the end-check, namely
putting a sentinel value after the end of the last valid
array element.

More Related Content

PPTX
Linear Search
PDF
linear search and binary search
PPT
Selection sort
PPT
Searching algorithms
PPTX
Linear Search Data Structure
PPTX
Binary Search Tree in Data Structure
PPT
Insertion sort bubble sort selection sort
PPT
Hash table
Linear Search
linear search and binary search
Selection sort
Searching algorithms
Linear Search Data Structure
Binary Search Tree in Data Structure
Insertion sort bubble sort selection sort
Hash table

What's hot (20)

PPTX
Sorting Algorithms
PPT
Data Structures- Part5 recursion
PPTX
Linear and Binary search
PDF
Sorting Algorithms
PPT
3.2 insertion sort
PPTX
Bubble sort | Data structure |
PPTX
Linear Search Presentation
PPTX
Searching and sorting
PPTX
Searching
PPTX
Linked list
PPTX
Unit 1 polynomial manipulation
PPTX
Arrays In C++
PPTX
Bubble Sort Algorithm Presentation
PPTX
Searching & Sorting Algorithms
PPTX
PPT
Binary Search
PPTX
stack & queue
PPTX
Insertion sort
PPTX
Rahat &amp; juhith
PPT
Bubble sort
Sorting Algorithms
Data Structures- Part5 recursion
Linear and Binary search
Sorting Algorithms
3.2 insertion sort
Bubble sort | Data structure |
Linear Search Presentation
Searching and sorting
Searching
Linked list
Unit 1 polynomial manipulation
Arrays In C++
Bubble Sort Algorithm Presentation
Searching & Sorting Algorithms
Binary Search
stack & queue
Insertion sort
Rahat &amp; juhith
Bubble sort
Ad

Similar to Linear search algorithm (20)

PPTX
27631722026_T._TAJESWAR_RAO_PCC-CS301_CSE(CS).pptx
PPTX
linear search.pptxtttttttttttttttttttttt
PPTX
linear search.pptxtttttttttttttttttttttt
PPTX
linear search o power point presentation
PDF
Searching
PPTX
placement preparation for Array Searching.pptx
PPTX
Sorting and searching arrays binary search algorithm
PPTX
PPT.pptx Searching and Sorting Techniques
PPTX
Searching and Sorting Algorithms in Data Structures
PPTX
SEARCHING
PPT
1 class linear and Binary search (3).ppt
PPTX
Linear Search in Oops.pptx
PPTX
arrays in c
PPTX
21CS32 DS Module 1 PPT.pptx
PPTX
Data structure chapter 2 Time complexity of known algorithms.pptx
PDF
Searching and sorting by B kirron Reddi
PPT
Chapter three data structure and algorithms qaybta quee
PPTX
Program Practical to operations on Array
DOCX
PPS 5.5.BASIC ALGORITHMS SEARCHING (LINEAR SEARCH, BINARY SEARCH ETC.), BASI...
PDF
advanced searching and sorting.pdf
27631722026_T._TAJESWAR_RAO_PCC-CS301_CSE(CS).pptx
linear search.pptxtttttttttttttttttttttt
linear search.pptxtttttttttttttttttttttt
linear search o power point presentation
Searching
placement preparation for Array Searching.pptx
Sorting and searching arrays binary search algorithm
PPT.pptx Searching and Sorting Techniques
Searching and Sorting Algorithms in Data Structures
SEARCHING
1 class linear and Binary search (3).ppt
Linear Search in Oops.pptx
arrays in c
21CS32 DS Module 1 PPT.pptx
Data structure chapter 2 Time complexity of known algorithms.pptx
Searching and sorting by B kirron Reddi
Chapter three data structure and algorithms qaybta quee
Program Practical to operations on Array
PPS 5.5.BASIC ALGORITHMS SEARCHING (LINEAR SEARCH, BINARY SEARCH ETC.), BASI...
advanced searching and sorting.pdf
Ad

More from NeoClassical (6)

PPTX
PPTX
PPTX
Dual nature of matter
PPTX
PPTX
Vectors and 3 d
PPTX
Alternating current
Dual nature of matter
Vectors and 3 d
Alternating current

Recently uploaded (20)

PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Lesson notes of climatology university.
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Pre independence Education in Inndia.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Classroom Observation Tools for Teachers
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Lesson notes of climatology university.
Abdominal Access Techniques with Prof. Dr. R K Mishra
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharma ospi slides which help in ospi learning
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
GDM (1) (1).pptx small presentation for students
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Microbial diseases, their pathogenesis and prophylaxis
PPH.pptx obstetrics and gynecology in nursing
Pre independence Education in Inndia.pdf
O7-L3 Supply Chain Operations - ICLT Program
Final Presentation General Medicine 03-08-2024.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Anesthesia in Laparoscopic Surgery in India
Classroom Observation Tools for Teachers
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student

Linear search algorithm

  • 1. LINEAR SEARCH ALGORITHM Algorithm involves checking all the elements of the array(or any other structure) one by one and in sequence until the desired result is found.
  • 2. Daily life example If you are asked to find the name of the person having phone number say “1234” with the help of a telephone directory . Since telephone directory is sorted by name not by numbers,we have to go through each and every number of the directory
  • 3. Best case ● If the first number in the directory is the number you were searching for ,then lucky you!!. ● Since you have found it on the very first page,now its not important for you that how many pages are there in the directory. ● Whether if it is of 1000 pages or 2000 pages it will take u same time to find you the number ,if it is at the very beginning . ● So it does not depends on no. on elements in the directory.Hence constant time . InBig O notation : 0(1)
  • 4. Worst Case It may happen that the number you are searching for is the last number of directory or if it is not in the directory at all. In that case you have to search the whole directory. Now number of elements will matter to you.if there are 500 pages ,you have to search 500;if it has 1000 you have to search 1000. Your search time is proportional to number of elements in the directory. In big O notation O(n) No of elements No of comparisons to be done 15 15 600 600
  • 5. Pseudocode For all elements Check if it is equal to element being searched for. If it is ,return its position. else continue.
  • 6. C++ code [Iterative] void iterSearch(const double data [ ],int n,double key) //const for safety ,we want to keep array unchanged { for(int i=0;i<=n-1;i++) //looping through all elements of the array { if(data[i]==key) { cout<<key<<" found at index "<<i<<" of the array"<<endl; break; //if element is found,come out of the loop } if(i==n-1) //searched through the array,still not found cout<<"n Element not found n"; } }
  • 7. Recursive Linear Search bool recursiveSearch (const double data[ ],int n,double key) { static int i=0; //static will prevent i being initialised to 0 every time we enter the function if(data[i]==key) { cout<<key<<" found at index "<<i<<" of the array"<<endl; return true; //this will end recursion which is desired as the element has been found } else { ++i; if(i==n) { cout<<"nElemnent not foundn"; } recursiveSearch(data,n,key); } } i=0; return false; //i=0 to reset i for next search.
  • 8. Discussions 1.Sorted array is not needed. 2.Works fine for small number of elements .Search time increases with number of elements. 3.Elements with higher probability of being searched should be kept in the beginning. 4.Trick: Get completely rid of the end-check, namely putting a sentinel value after the end of the last valid array element.