Alkioiden Etsiminen
Pyyhkäise näyttääksesi valikon
Taulukoiden kanssa työskennellessä on usein tarpeen selvittää, esiintyykö tietty arvo tai missä se sijaitsee. Alkioiden etsiminen taulukosta on yleinen toimenpide ohjelmoinnissa, erityisesti kun halutaan paikantaa tietoa, validoida syötettä tai suorittaa muita toimintoja arvon olemassaolon tai sijainnin perusteella. Esimerkiksi voidaan tarkistaa, onko käyttäjätunnus jo käytössä, tai etsiä tietyn pistemäärän sijainti listasta. Tehokkaiden hakumenetelmien ymmärtäminen taulukoissa on olennainen taito tietokokoelmien kanssa työskenneltäessä.
Program.cs
1234567891011121314151617181920212223242526272829using System; namespace ConsoleApp { public class Program { public static void Main() { int[] numbers = { 10, 25, 30, 47, 58 }; int target = 30; int foundIndex = -1; for (int i = 0; i < numbers.Length; i++) { if (numbers[i] == target) { foundIndex = i; break; } } if (foundIndex != -1) { Console.WriteLine("Number " + target + " found at index " + foundIndex + "."); } } } }
Tietyn arvon etsimiseksi taulukosta käytetään silmukkaa, joka käy läpi jokaisen alkion yksitellen. Silmukan sisällä if-lause tarkistaa, vastaako nykyinen alkio etsittävää arvoa. Jos vastaavuus löytyy, voidaan tallentaa indeksi ja yleensä lopettaa etsintä, koska tarvittava tieto on löydetty. Tämä menetelmä on yksinkertainen ja toimii kaiken kokoisille ja tyyppisille taulukoille.
Program.cs
123456789101112131415161718192021222324252627282930313233using System; namespace ConsoleApp { public class Program { public static void Main() { int[] numbers = { 11, 22, 33, 44, 55 }; int target = 99; int foundIndex = -1; for (int i = 0; i < numbers.Length; i++) { if (numbers[i] == target) { foundIndex = i; break; } } if (foundIndex != -1) { Console.WriteLine("Number " + target + " found at index " + foundIndex + "."); } else { Console.WriteLine("Number " + target + " not found in the array."); } } } }
Lineaarinen haku on menetelmä arvon etsimiseen taulukosta tarkistamalla jokainen alkio järjestyksessä alusta loppuun, kunnes arvo löytyy tai taulukon loppu saavutetaan.
1. Mikä on lineaarisen haun aikavaativuus taulukossa?
2. Miten voit selvittää, esiintyykö arvo taulukossa?
3. Mitä ohjelmasi tulisi tehdä, jos etsittyä arvoa ei löydy?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme