Lineārā meklēšana

Šajā apmācībā jūs uzzināsit par lineāro meklēšanu. Jūs atradīsit arī lineāras meklēšanas C, C ++, Java un Python piemērus.

Lineārā meklēšana ir vienkāršākais meklēšanas algoritms, kas elementu sarakstā meklē secīgā secībā. Mēs sākam vienā galā un pārbaudām katru elementu, līdz vēlamais elements nav atrasts.

Kā darbojas lineārā meklēšana?

Lai meklētu elementu k = 1zemāk esošajā sarakstā, tiek veiktas šādas darbības .

Masīvs, kuru meklēt
  1. Sāciet no pirmā elementa, salīdziniet k ar katru elementu x. Salīdziniet ar katru elementu
  2. Ja x == k, atgrieziet indeksu. Elements atrasts
  3. Citādi atgriešanās nav atrasta.

Lineārā meklēšanas algoritms

LinearSearch (masīvs, atslēga) katram masīva vienumam, ja item == vērtība atgriež tā indeksu

Python, Java un C / C ++ piemēri

Python Java C C ++
 # Linear Search in Python def linearSearch(array, n, x): # Going through array sequencially for i in range(0, n): if (array(i) == x): return i return -1 array = (2, 4, 0, 1, 9) x = 1 n = len(array) result = linearSearch(array, n, x) if(result == -1): print("Element not found") else: print("Element found at index: ", result)
 // Linear Search in Java class LinearSearch ( public static int linearSearch(int array(), int x) ( int n = array.length; // Going through array sequencially for (int i = 0; i < n; i++) ( if (array(i) == x) return i; ) return -1; ) public static void main(String args()) ( int array() = ( 2, 4, 0, 1, 9 ); int x = 1; int result = linearSearch(array, x); if (result == -1) System.out.print("Element not found"); else System.out.print("Element found at index: " + result); ) )
 // Linear Search in C #include int search(int array(), int n, int x) ( // Going through array sequencially for (int i = 0; i < n; i++) if (array(i) == x) return i; return -1; ) int main() ( int array() = (2, 4, 0, 1, 9); int x = 1; int n = sizeof(array) / sizeof(array(0)); int result = search(array, n, x); (result == -1) ? printf("Element not found") : printf("Element found at index: %d", result); )
 // Linear Search in C++ #include using namespace std; int search(int array(), int n, int x) ( // Going through array sequencially for (int i = 0; i < n; i++) if (array(i) == x) return i; return -1; ) int main() ( int array() = (2, 4, 0, 1, 9); int x = 1; int n = sizeof(array) / sizeof(array(0)); int result = search(array, n, x); (result == -1) ? cout << "Element not found" : cout << "Element found at index: " << result; )

Lineārās meklēšanas sarežģītība

Laika sarežģītība: O (n)

Kosmosa sarežģītība: O(1)

Lineārās meklēšanas programmas

  1. Meklēšanas operācijām mazākos blokos (<100 vienības).

Interesanti raksti...