रैखिक खोज तकनीक सबसे सरल तकनीक है। इस तकनीक में वस्तुओं को एक-एक करके खोजा जाता है। यह प्रक्रिया अनसोल्ड डेटा सेट के लिए भी लागू होती है। रैखिक खोज को अनुक्रमिक खोज के रूप में भी जाना जाता है। इसे रैखिक नाम दिया गया है क्योंकि इसकी समय जटिलता n O(n) के क्रम की है।
रैखिक खोज तकनीक की जटिलता
- समय की जटिलता: ओ(एन)
- अंतरिक्ष जटिलता: ओ(1)
इनपुट और आउटपुट
Input: A list of data: 20 4 89 75 10 23 45 69 the search key 10 Output: Item found at location: 4
एल्गोरिदम
linearSearch(array, size, key)
इनपुट - एक क्रमबद्ध सरणी, सरणी का आकार और खोज कुंजी
आउटपुट - कुंजी का स्थान (यदि पाया जाता है), अन्यथा गलत स्थान।
Begin for i := 0 to size -1 do if array[i] = key then return i done return invalid location End
उदाहरण
#include<iostream> using namespace std; int linSearch(int array[], int size, int key) { for(int i = 0; i<size; i++) { if(array[i] == key) //search key in each places of the array return i; //location where key is found for the first time } return -1; //when the key is not in the list } int main() { int n, searchKey, loc; cout << "Enter number of items: "; cin >> n; int arr[n]; //create an array of size n cout << "Enter items: " << endl; for(int i = 0; i< n; i++) { cin >> arr[i]; } cout << "Enter search key to search in the list: "; cin >> searchKey; if((loc = linSearch(arr, n, searchKey)) >= 0) cout << "Item found at location: " << loc << endl; else cout << "Item is not found in the list." << endl; }
आउटपुट
Enter number of items: 8 Enter items: 20 4 89 75 10 23 45 69 Enter search key to search in the list: 10 Item found at location: 4