Sequential Search & Index Sequential Search
1️⃣ Sequential Search (Linear Search)
🔹 Simple searching technique that checks elements one by one.
🔹 Works on unsorted or sorted data.
🔹 Time Complexity:
- Best Case: O(1) (Element found at the first position).
- Worst Case: O(n) (Element at the last position or not present).
🔹 Used when: - Data is small.
- No sorting is required.
- Searching once or rarely (no need for optimizations).
✅ C Program: Sequential Search
✅ Works on unsorted data
❌ Slow for large datasets
2️⃣ Index Sequential Search
🔹 Optimized form of Sequential Search.
🔹 Used when data is large and sorted.
🔹 Divides data into blocks, creating an index table for quick lookups.
🔹 Steps:
- Create an index table containing references to certain elements in the data.
- Search in the index table to locate the approximate block.
- Perform Sequential Search in that block.
🔹 Time Complexity:
- Best Case: O(1) (if found in index).
- Worst Case: O(√n) (if searched element is at the end).
✅ C Program: Index Sequential Search
✅ Faster than Sequential Search
✅ Efficient for large datasets
❌ Needs sorted data and index table
3️⃣ Comparison: Sequential vs. Index Sequential Search
Feature | Sequential Search | Index Sequential Search |
---|---|---|
Data Requirement | Works on unsorted & sorted data | Works only on sorted data |
Time Complexity (Worst Case) | O(n) | O(√n) |
Best for | Small datasets | Large datasets |
Memory Usage | No extra memory required | Extra memory for index table |
Performance | Slower for large data | Faster due to indexing |
No comments:
Post a Comment