इस लेख में, हम समझेंगे कि किसी सरणी में किसी तत्व को पुनरावर्ती रूप से रैखिक रूप से कैसे खोजा जाए। रैखिक खोज एक बहुत ही सरल खोज एल्गोरिथम है जिसमें एक-एक करके सभी मदों के लिए क्रमिक खोज की जाती है।
नीचे उसी का एक प्रदर्शन है -
मान लीजिए कि हमारा इनपुट है -
Input array: 14 20 35 47 50 65 72 81 90 99 Key element: 72
वांछित आउटपुट होगा -
The element 72 is present at position: 6
एल्गोरिदम
Step 1 - START Step 2 - Declare a string array namely input_array, two integer namely key_element and index Step 3 - Define the values. Step 4 - Iterate through the array. Step 5 - Define the element to be searched. Invoke the recursive method by passing these parameters. Step 6 - Define an ‘if’ condition with the condition that a failure would return -1, otherwise the position of the element itself. Step 7 - Display this on the console. Step 8 - Stop
उदाहरण 1
यहां, हम पूर्णांकों पर रैखिक खोज दिखाते हैं।
public class LinearSearch { static int recSearch(int input_array[], int l, int r, int key_element) { if (r < l) return -1; if (input_array[l] == key_element) return l; if (input_array[r] == key_element) return r; return recSearch(input_array, l+1, r-1, key_element); } public static void main(String[] args) { int input_array[] = {14, 20, 35, 47, 50, 65, 72, 81, 90, 99}; System.out.println("The elements of the array is defined as "); for (int i : input_array) { System.out.print(i +" "); } int key_element = 72; System.out.println("\n\nThe elements to be searched in the array is: " + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\nThe element " + key_element + " is present at position: " + index); else System.out.println("Element " + key_element + " is not present: "); } }
आउटपुट
The elements of the array is defined as 14 20 35 47 50 65 72 81 90 99 The elements to be searched in the array is: 72 The element 72 is present at position: 6
उदाहरण 2
यहां, हम स्ट्रिंग्स पर रैखिक खोज दिखाते हैं।
public class Demo { static int recSearch(String input_array[], int l, int r, String key_element) { if (r < l) return -1; if (input_array[l] == key_element) return l; if (input_array[r] == key_element) return r; return recSearch(input_array, l+1, r-1, key_element); } public static void main(String[] args) { String input_array[] = { "Scala", "Java", "Python", "Mysql"}; System.out.println("The elements of the array is defined as "); for (String i : input_array) { System.out.print(i +" "); } String key_element = "Java"; System.out.println("\n\nThe elements to be searched in the array is: " + key_element); int index = recSearch(input_array, 0, input_array.length-1, key_element); if (index != -1) System.out.println("\nThe element " + key_element + " is present at position: " + index); else System.out.println("Element " + key_element + " is not present: "); } }
आउटपुट
The elements of the array is defined as Scala Java Python Mysql The elements to be searched in the array is: Java The element Java is present at position: 1