एम्बेडेड सिस्टम में खोज एल्गोरिदम को कार्यान्वित करना कुशल डेटा पुनर्प्राप्ति के लिए आवश्यक है। रैखिक और द्विआधारी खोज डेटा संरचना और सिस्टम बाधाओं के आधार पर उपयोग किए जाने वाले दो सामान्य तरीके हैं। यह गाइड एम्बेडेड वातावरण में दोनों एल्गोरिदम को लागू करने के लिए चरण-दर-चरण निर्देश प्रदान करता है।

रैखिक खोज कार्यान्वयन

रैखिक खोज प्रत्येक तत्व को अनुक्रमिक रूप से एक सूची में स्कैन करता है जब तक कि लक्ष्य मूल्य नहीं मिल जाता है या सूची समाप्त हो जाती है। यह छोटे या बिना किसी मिश्रित डेटासेट के लिए सरल और प्रभावी है।

रैखिक खोज को लागू करने के लिए कदम:

  • एक लूप को सरणी के माध्यम से iterate करने के लिए शुरू करें।
  • प्रत्येक तत्व की तुलना लक्ष्य मान के साथ करें।
  • यदि कोई मैच पाया जाता है, तो इंडेक्स वापस करें।
  • यदि लूप मैच के बिना पूरा हो जाता है, तो एक संकेत वापस करें कि तत्व नहीं मिल रहा है।

उदाहरण कोड स्निपेट:

In C:]

``c int लीनियरSearch(int arr[], int size, int target) { for (int i = 0; i < size; i++) { if (arr[i] == target) { return i; } return -1; // not found } ``````

द्विआधारी खोज कार्यान्वयन

बाइनरी खोज में एक सॉर्टेड सरणी की आवश्यकता होती है और प्रत्येक पुनरावृत्ति में खोज अंतराल को विभाजित करती है। यह बड़े डेटासेट के लिए रैखिक खोज की तुलना में तेज़ है।

द्विआधारी खोज को लागू करने के लिए कदम:

  • प्रारंभिक कम और उच्च सूचकांक सेट करें।
  • मध्य अनुक्रमणिका की गणना करें।
  • लक्ष्य के साथ मध्य तत्व की तुलना करें।
  • यदि बराबर हो तो मध्य अनुक्रमणिका को वापस करें।
  • यदि लक्ष्य कम हो, तो उच्च से मध्यम - 1.
  • यदि लक्ष्य अधिक है, तो निम्न से मध्यम + 1. समायोजित करें
  • जब तक लक्ष्य नहीं पाया जाता है या उससे कम उच्च स्तर तक नहीं पहुंचता।

उदाहरण कोड स्निपेट:

In C:]

``c int BinarySearch(int arr[], int size, int target) { int low = 0; int high = size - 1; जबकि (low <= high) { int mid = low + (high - low) / 2; यदि (arr[mid] == target) { return mid; } (arr[mid] < target) { low = mid + 1; } more { high = मध्य - 1; } } वापसी -1; // नहीं पाया गया } `````

सही खोज विधि का चयन

रैखिक और द्विआधारी खोज के बीच विकल्प डेटा संगठन और आकार पर निर्भर करता है। छोटे या बिना किसी मिश्रित डेटा के लिए रैखिक खोज का उपयोग करें। द्विआधारी खोज बड़े, क्रमबद्ध डेटासेट के लिए उपयुक्त है जहां प्रदर्शन महत्वपूर्ण है।