Algoritam linearnog pretraživanja jednostavna je i temeljna metoda u Java programiranju koja se koristi za pronalaženje određenog elementa unutar popisa ili niza. Ovaj pristup funkcionira tako da svaki element prelazi i uspoređuje s vrijednošću pretraživanja.
Kako radi algoritam linearnog pretraživanja
Algoritam linearnog pretraživanja počinje od prvog elementa popisa ili polja. Uspoređuje traženu vrijednost s vrijednošću trenutnog elementa. Ako se pronađe odgovarajuća vrijednost, algoritam vraća položaj elementa na listi ili nizu. Ako nije pronađen, algoritam se nastavlja kretati do sljedećeg elementa i nastavlja proces usporedbe dok se vrijednost ne pronađe ili dok se ne prijeđu svi elementi.
Prednosti i nedostaci algoritma linearnog pretraživanja
Prednosti:
- Jednostavan i razumljiv: ovaj algoritam je lako implementirati i razumjeti.
- Radi s bilo kojom vrstom podataka: Linearno pretraživanje može se primijeniti na bilo koju vrstu podataka popisa ili polja.
Nedostaci:
- Niska izvedba: ovaj algoritam zahtijeva prolazak kroz sve elemente na popisu ili nizu, što može dovesti do niske izvedbe za velike skupove podataka.
Primjer i objašnjenje
Razmotrite primjer korištenja algoritma linearnog pretraživanja za pronalaženje određenog cijelog broja u nizu cijelih brojeva u 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");
}
}
}
U ovom primjeru koristimo algoritam linearnog pretraživanja za pronalaženje broja 7 u nizu cijelih brojeva. Algoritam prolazi kroz svaki element i uspoređuje ga s traženom vrijednošću. U ovom slučaju, broj 7 nalazi se na poziciji 2(indeks temeljen na 0) u nizu.
Iako ovaj primjer pokazuje kako algoritam linearnog pretraživanja može pronaći element u nizu cijelih brojeva, može se primijeniti i na druge scenarije pretraživanja u Java programiranju.