Selles õpetuses saate teada lineaarse otsingu kohta. Samuti leiate lineaarse otsingu C, C ++, Java ja Python toimivad näited.
Lineaarotsing on lihtsaim otsimisalgoritm, mis otsib loendis olevat elementi järjestuses. Alustame ühest otsast ja kontrollime kõiki elemente, kuni soovitud elementi ei leita.
Kuidas lineaarne otsing töötab?
Allolevast k = 1
loendist elemendi otsimiseks järgitakse järgmisi samme .

- Alustage esimesest elemendist, võrrelge k iga elemendiga x.
Võrdle iga elemendiga
- Kui
x == k
tagastate indeksi.Element leitud
- Muidu tagasitulekut ei leitud.
Lineaarse otsingu algoritm
Lineaarne otsing (massiiv, võti) massiivi iga üksuse jaoks, kui element == väärtus tagastab selle indeksi
Pythoni, Java ja C / C ++ näited
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; )
Lineaarse otsingu keerukused
Aja keerukus: O (n)
Ruumi keerukus: O(1)
Lineaarsed otsingurakendused
- Operatsioonide otsimiseks väiksemates massiivides (<100 üksust).