Linijinė paieška

Šioje pamokoje sužinosite apie tiesinę paiešką. Taip pat rasite veikiančių linijinės paieškos C, C ++, Java ir Python pavyzdžių.

Linijinė paieška yra paprasčiausias paieškos algoritmas, ieškantis elemento sąraše eilės tvarka. Mes pradedame nuo vieno galo ir tikriname kiekvieną elementą, kol nerandamas norimas elementas.

Kaip veikia tiesinė paieška?

Norėdami ieškoti elemento k = 1žemiau pateiktame sąraše, atlikite šiuos veiksmus .

Masyvas, kurio reikia ieškoti
  1. Pradėkite nuo pirmo elemento, palyginkite k su kiekvienu elementu x. Palyginkite su kiekvienu elementu
  2. Jei x == k, grąžinkite indeksą. Rastas elementas
  3. Kita, grąžinimas nerastas.

Linijinis paieškos algoritmas

„LinearSearch“ (masyvas, raktas) kiekvienam masyvo elementui, jei elemento == reikšmė grąžina jo rodyklę

„Python“, „Java“ ir „C / C ++“ pavyzdžiai

„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; )

Linijiniai paieškos kompleksai

Laiko sudėtingumas: O (n)

Erdvės sudėtingumas: O(1)

Linijinės paieškos programos

  1. Paieškos operacijoms mažesniais masyvais (<100 elementų).

Įdomios straipsniai...