Lineaarinen hakualgoritmi (Linear Search) julkaisussa Java: Elementtien tutkiminen ja löytäminen

Lineaarinen hakualgoritmi on yksinkertainen ja perustavanlaatuinen ohjelmointimenetelmä Java, jota käytetään tietyn elementin löytämiseen luettelosta tai taulukosta. Tämä lähestymistapa toimii läpikäymällä jokaisen elementin ja vertaamalla sitä hakuarvoon.

Kuinka lineaarinen hakualgoritmi toimii

Lineaarinen hakualgoritmi alkaa luettelon tai taulukon ensimmäisestä elementistä. Se vertaa hakuarvoa nykyisen elementin arvoon. Jos vastaava arvo löytyy, algoritmi palauttaa elementin sijainnin luettelossa tai taulukossa. Jos sitä ei löydy, algoritmi jatkaa siirtymistä seuraavaan elementtiin ja jatkaa vertailua, kunnes arvo löytyy tai kaikki elementit on ajettu läpi.

Lineaarisen hakualgoritmin edut ja haitat

Edut:

  • Yksinkertainen ja ymmärrettävä: Tämä algoritmi on helppo toteuttaa ja ymmärtää.
  • Toimii minkä tahansa tietotyypin kanssa: Lineaarihakua voidaan käyttää minkä tahansa tyyppisiin luettelo- tai taulukkotietoihin.

Haitat:

  • Alhainen suorituskyky: Tämä algoritmi edellyttää kaikkien luettelon tai taulukon elementtien läpikulkua, mikä voi johtaa heikkoon suorituskykyyn suurissa tietojoukkoissa.

Esimerkki ja selitys

Harkitse esimerkkiä lineaarisen hakualgoritmin käyttämisestä tietyn kokonaisluvun etsimiseen kokonaislukutaulukosta Java.

public class LinearSearchExample {  
    public static int linearSearch(int[] array, int target) {  
        for(int i = 0; i < array.length; i++) {  
            if(array[i] == target) {  
                return i; // Return position if found  
            }  
        }  
        return -1; // Return -1 if not found  
    }  
  
    public static void main(String[] args) {  
        int[] numbers = { 4, 2, 7, 1, 9, 5 };  
        int target = 7;  
  
        int position = linearSearch(numbers, target);  
  
        if(position != -1) {  
            System.out.println("Element " + target + " found at position " + position);  
        } else {  
            System.out.println("Element " + target + " not found in the array");  
        }  
    }  
}  

Tässä esimerkissä käytämme lineaarista hakualgoritmia löytääksemme luvun 7 kokonaislukutaulukosta. Algoritmi kulkee jokaisen elementin läpi ja vertaa sitä hakuarvoon. Tässä tapauksessa numero 7 löytyy taulukon paikasta 2(0-pohjainen indeksi).

Vaikka tämä esimerkki osoittaa, kuinka lineaarinen hakualgoritmi voi löytää elementin kokonaislukutaulukosta, sitä voidaan soveltaa myös muihin ohjelmoinnin hakuskenaarioihin Java.