Searching Techniques (Linear Search and Binary Search) Notes | Basic Computer Engineering | RGPV BTech First Year

Searching Techniques (Linear Search and Binary Search) Notes | Basic Computer Engineering | RGPV BTech First Year


Searching Techniques (Linear Search and Binary Search)

Searching Computer Science рддрдерд╛ Data Structures рдХрд╛ рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг Operation рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА Data Collection рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ Element рдХреЛ рдЦреЛрдЬрдиреЗ (Locate) рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХрд┐рд╕реА Array, Linked List рдЕрдерд╡рд╛ рдЕрдиреНрдп Data Structure рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ Value рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддрдм Searching Techniques рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Efficient Searching Algorithm рдХрд┐рд╕реА рднреА Software рдХреА Performance рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред

рдЖрдзреБрдирд┐рдХ Database Systems, Search Engines, Banking Applications, E-Commerce Websites, Artificial Intelligence, Operating Systems рддрдерд╛ Enterprise Software рдореЗрдВ Searching Algorithms рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Searching рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рд╕рд╣реА Data рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


Introduction to Searching

Searching рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА Collection рдореЗрдВ рдЙрдкрд▓рдмреНрдз Elements рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ Element рдХреЛ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ Element рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ рдЙрд╕рдХрд╛ Position Return рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ Element Not Found рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Searching Algorithms рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВтАФLinear Search рддрдерд╛ Binary Searchред рдЗрди рджреЛрдиреЛрдВ Techniques рдХрд╛ рдЪрдпрди Data рдХреА рдкреНрд░рдХреГрддрд┐ рддрдерд╛ Organization рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред


Definition of Searching

Searching рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА Data Structure рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ Element рдЕрдерд╡рд╛ Record рдХрд╛ рд╕реНрдерд╛рди (Location) рдЬреНрдЮрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Searching = Process of Finding Required Element in a Collection of Data

Need of Searching

  • Required Data рдХреЛ рдЬрд▓реНрджреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Database Records рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред
  • Large Data Processing рдХреЗ рд▓рд┐рдПред
  • Efficient Information Retrieval рдХреЗ рд▓рд┐рдПред
  • Fast Decision Making рдХреЗ рд▓рд┐рдПред
  • Software Performance Improve рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

Characteristics of Searching

  • Locates Required Element.
  • Improves Data Retrieval Speed.
  • Can Work on Sorted or Unsorted Data.
  • Supports Efficient Information Processing.
  • Essential for Large Databases.
  • Widely Used in Real-Time Applications.

Advantages of Searching Techniques

  • Fast Information Retrieval.
  • Improves Software Performance.
  • Efficient Data Access.
  • Reduces Processing Time.
  • Suitable for Large Data Collections.
  • Supports Decision Making.

Limitations of Searching

  • Linear Search is Slow for Large Data.
  • Binary Search Requires Sorted Data.
  • Performance Depends on Data Organization.
  • Complexity Increases with Large Data Sets.

Types of Searching

  1. Linear Search
  2. Binary Search

Linear Search

Linear Search рд╕рдмрд╕реЗ рд╕рд░рд▓ Searching Technique рд╣реИред рдЗрд╕рдореЗрдВ Array рдЕрдерд╡рд╛ List рдХреЗ рдкреНрд░рддреНрдпреЗрдХ Element рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ Compare рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ Required Element рдкреНрд░рд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдП рдпрд╛ рдкреВрд░реА List рд╕рдорд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдПред

Array 10 20 30 40 50 Search = 40 Compare 10 тЖТ 20 тЖТ 30 тЖТ 40 тЬФ

Algorithm of Linear Search

  1. Start from First Element.
  2. Compare Current Element with Target.
  3. If Match Found, Return Position.
  4. Otherwise Move to Next Element.
  5. If End of List Reached, Return Not Found.

Binary Search

Binary Search рдПрдХ Efficient Searching Algorithm рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ Sorted Data рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рдЗрд╕рдореЗрдВ Search Space рдХреЛ рдкреНрд░рддреНрдпреЗрдХ Step рдореЗрдВ рдЖрдзрд╛ (Half) рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ Searching рдмрд╣реБрдд рддреЗрдЬ рд╣реЛ рдЬрд╛рддреА рд╣реИред

10 20 30 40 50 60 70 Middle = 40 Target = 60 Search Right Half

Algorithm of Binary Search

  1. Set Low and High Index.
  2. Find Middle Element.
  3. If Middle Equals Target, Return Position.
  4. If Target is Smaller, Search Left Half.
  5. If Target is Greater, Search Right Half.
  6. Repeat Until Element is Found or Search Space Ends.

Difference between Linear Search and Binary Search

Linear Search Binary Search
Works on Sorted and Unsorted Data. Works Only on Sorted Data.
Checks Elements Sequentially. Searches by Dividing Data into Halves.
Simple Algorithm. More Efficient but Complex.
Time Complexity O(n). Time Complexity O(log n).
Suitable for Small Data. Suitable for Large Sorted Data.

Time Complexity (Introduction)

Time Complexity рдХрд┐рд╕реА Algorithm рджреНрд╡рд╛рд░рд╛ Input Data рдкрд░ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рди (Estimate) рд╣реЛрддреА рд╣реИред Searching Algorithms рдХреА Efficiency рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди Time Complexity рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Searching Technique Best Case Average Case Worst Case
Linear Search O(1) O(n) O(n)
Binary Search O(1) O(log n) O(log n)

Common Errors

  • Applying Binary Search on Unsorted Data.
  • Incorrect Calculation of Middle Index.
  • Array Index Out of Bounds.
  • Wrong Loop Condition.
  • Ignoring Duplicate Elements.
  • Incorrect Comparison Logic.

Best Practices

  • Use Binary Search Only on Sorted Data.
  • Validate Input Before Searching.
  • Choose Appropriate Searching Technique.
  • Use Correct Loop Conditions.
  • Handle Boundary Cases Properly.
  • Optimize Searching for Large Data Sets.

Applications of Searching

  • Database Management Systems.
  • Search Engines.
  • Banking Applications.
  • E-Commerce Websites.
  • Library Management Systems.
  • Student Information Systems.
  • Artificial Intelligence.
  • Operating Systems.
  • File Management Systems.
  • Information Retrieval Systems.

Industrial Importance

Searching Algorithms рдЖрдзреБрдирд┐рдХ Software Engineering рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧ рд╣реИрдВред Google Search Engine, Database Indexing, Banking Software, E-Commerce Platforms, Artificial Intelligence, Machine Learning рддрдерд╛ Cloud Computing Applications рдореЗрдВ Efficient Searching Algorithms рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╣реА Searching Technique System рдХреА Performance рддрдерд╛ Response Time рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рдмреЗрд╣рддрд░ рдмрдирд╛рддреА рд╣реИред


Viva Questions

  1. What is Searching?
  2. Why is Searching required?
  3. What is Linear Search?
  4. Explain the algorithm of Linear Search.
  5. What is Binary Search?
  6. Why does Binary Search require sorted data?
  7. Differentiate Linear Search and Binary Search.
  8. What is Time Complexity?
  9. Which Searching Technique is faster?
  10. State the applications of Searching.

Exam Oriented Important Questions

  1. Define Searching with suitable examples.
  2. Explain Linear Search with algorithm.
  3. Explain Binary Search with algorithm.
  4. Differentiate Linear Search and Binary Search.
  5. Explain the Time Complexity of Searching Algorithms.
  6. Discuss the applications of Searching.
  7. Explain the Industrial Importance of Searching.
  8. Write short notes on Searching Techniques.

Conclusion

Searching рдХрд┐рд╕реА рднреА Data Structure рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг Operation рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡рд╢реНрдпрдХ Data рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Linear Search рд╕рд░рд▓ рддрдерд╛ Unsorted Data рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ Binary Search Sorted Data рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рддреЗрдЬрд╝ рдПрд╡рдВ Efficient рд╣реЛрддреА рд╣реИред Searching Algorithms рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ Database Systems, Search Engines рддрдерд╛ Advanced Algorithms рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИред

Related Articles

Manipulators in C++ Notes | endl, setw, setprecision, setfill | Basic Computer Engineering | RGPV BTech First Year

0...

Read More тЖТ

Type Conversion in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Type Co...

Read More тЖТ

Assignment Operator in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Assignm...

Read More тЖТ

Copy Constructor in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Copy Co...

Read More тЖТ

this Pointer in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

this Po...

Read More тЖТ