o Kui K on ahelas, siis kustuta sealt vastav element. 14.6 Paiskemeetod vs otsimispuud • Mõlemad meetodid on mõeldud otsimiseks. • Reegline on paiskmeetod parem/kiirem, eeldusel, et võtmed on lihtsamat andmetüüpi ja nendele on hea arvutada paskväärtust. • Kui võtmete arv ei ole ennustatav on puu parem oma dünamilisuse tõttu. • Puu on parem, kui eeldada sorteeritust: sort, jada, min, max, naabervõtmed. Nimetatud andmeid paisktabelis kiirelt leida võimalik ei ole. Tabeli saab küll väljastada, kuid see ei anna midagi. Paiskmeetod Otsimispuud Lisamine O(1) O(log N) Kustutamine O(1) O(log N) Otsimine O(1) O(log N) Min O(N) O(log N) Max O(N) O(log N) Sorterd O(N log N) O(N) Algoritmid ja andmestruktuurid 2015
jarjekord.Enqueue("Juku"); jarjekord.Enqueue("Kati"); jarjekord.Enqueue("Mati"); while(jarjekord.Count>0){ string eesnimi=jarjekord.Dequeue() as string; Console.WriteLine(eesnimi); } } } /* D:kodu 606dotnet>Kollektsioon3 Juku Kati Mati */ Paisktabel Vahend andmepaaride hoidmiseks. Kord indekseerimise juures juba tutvusime selle vahendiga, siin nüüd vaatame talle veel korra otsa. Paisktabelis sobib hoida näiteks konfiguratsioonifailist loetud omaduste väärtusi, kasutajanimele vastavaid seadeid või tõlkefaili andmeid. Põhiliseks tingimuseks on, et võti (kasutajanimi või omaduse nimi) ei kordu ning võtme järgi saab küsida väärtuse. Siin näites hoitakse inimeste nimedele vastavaid hindeid. if(ht.ContainsKey("Kati")){ Console.WriteLine("{0}", ht["Kati"]); } Kontrollitakse, kas Kati on nimede hulgas olemas
jarjekord.Enqueue("Juku"); jarjekord.Enqueue("Kati"); jarjekord.Enqueue("Mati"); while(jarjekord.Count>0){ string eesnimi=jarjekord.Dequeue() as string; Console.WriteLine(eesnimi); } } } /* D:kodu 606dotnet>Kollektsioon3 Juku Kati Mati */ Paisktabel Vahend andmepaaride hoidmiseks. Kord indekseerimise juures juba tutvusime selle vahendiga, siin nüüd vaatame talle veel korra otsa. Paisktabelis sobib hoida näiteks konfiguratsioonifailist loetud omaduste väärtusi, kasutajanimele vastavaid seadeid või tõlkefaili andmeid. Põhiliseks tingimuseks on, et võti (kasutajanimi või omaduse nimi) ei kordu ning võtme järgi saab küsida väärtuse. Siin näites hoitakse inimeste nimedele vastavaid hindeid. if(ht.ContainsKey("Kati")){ Console.WriteLine("{0}", ht["Kati"]); } Kontrollitakse, kas Kati on nimede hulgas olemas