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) рдЬреНрдЮрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
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
- Linear Search
- Binary Search
Linear Search
Linear Search рд╕рдмрд╕реЗ рд╕рд░рд▓ Searching Technique рд╣реИред рдЗрд╕рдореЗрдВ Array рдЕрдерд╡рд╛ List рдХреЗ рдкреНрд░рддреНрдпреЗрдХ Element рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ Compare рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ Required Element рдкреНрд░рд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдП рдпрд╛ рдкреВрд░реА List рд╕рдорд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдПред
Algorithm of Linear Search
- Start from First Element.
- Compare Current Element with Target.
- If Match Found, Return Position.
- Otherwise Move to Next Element.
- If End of List Reached, Return Not Found.
Binary Search
Binary Search рдПрдХ Efficient Searching Algorithm рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ Sorted Data рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рдЗрд╕рдореЗрдВ Search Space рдХреЛ рдкреНрд░рддреНрдпреЗрдХ Step рдореЗрдВ рдЖрдзрд╛ (Half) рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ Searching рдмрд╣реБрдд рддреЗрдЬ рд╣реЛ рдЬрд╛рддреА рд╣реИред
Algorithm of Binary Search
- Set Low and High Index.
- Find Middle Element.
- If Middle Equals Target, Return Position.
- If Target is Smaller, Search Left Half.
- If Target is Greater, Search Right Half.
- 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
- What is Searching?
- Why is Searching required?
- What is Linear Search?
- Explain the algorithm of Linear Search.
- What is Binary Search?
- Why does Binary Search require sorted data?
- Differentiate Linear Search and Binary Search.
- What is Time Complexity?
- Which Searching Technique is faster?
- State the applications of Searching.
Exam Oriented Important Questions
- Define Searching with suitable examples.
- Explain Linear Search with algorithm.
- Explain Binary Search with algorithm.
- Differentiate Linear Search and Binary Search.
- Explain the Time Complexity of Searching Algorithms.
- Discuss the applications of Searching.
- Explain the Industrial Importance of Searching.
- 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 тЖТ