Ero sivun ”Keko (tietorakenne)” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Lisätty takaisin commonscat-malline Aiheesta muualla -osioon sekä lähde kasa-nimitykselle
Rivi 1:
{{lähteetön}}
'''Keko''' ({{k-en|heap}}), joskus myös '''kasa'''<ref>{{lähdeVerkkoviite | Osoite = https://www.cs.helsinki.fi/u/jkivinen/opetus/tira/k08/kaikki.pdf | Nimeke = Tietorakenteet-kursssin luentomateriaali (kevät 2008) | Tekijä = Kivinen, Jyrki | Tiedostomuoto = PDF | Selite = sivu 284 | Julkaisija = Helsingin yliopiston tietojenkäsittelytieteen laitos | Viitattu = 13.11.2021}}</ref>, on [[tietojenkäsittelytiede|tietojenkäsittelytieteessä]] käytettävä [[tietorakenne]], jolle on ominaista, että sen suurin (tai pienin) alkio on aina helposti saatavilla. Tärkeimpiä keon sovelluskohteita ovat mm. [[prioriteettijono]]n toteutus ja kekojärjestäminen.
 
== Toteutus ==
Rivi 7:
Puun juurisolmulla on tällöin aina keon suurin (tai pienin) avain. Käytännössä keko tallennetaan kuitenkin usein taulukkona linkitetyn puurakenteen sijasta. Keon sisältöä muuttavat operaatiot on toteutettu siten, että ne säilyttävät kekoehdon totena. Toteutuksen yksityiskohdat riippuvat käytettävästä kekotyypistä. Yleisin kekotyyppi on binäärikeko. Muita variantteja ovat esimerkiksi fibonacci-keko ja binomikeko.
 
== Keko-operaatiotOperaatiot==
Yleisesti kekojen kanssa käytettyjä operaatioita ovat:
* Suurimman (pienimmän) alkion etsiminen: ''find-max'' (''find-min'')
Rivi 21:
* [[Prioriteettijono]], eli jonorakenne, jossa korkeamman prioriteetin omaavat alkiot pääsevät "etuilemaan" niitä, joilla on alhaisempi prioriteetti, toteutetaan yleensä kekona.
* [[Graafi]]- eli verkkoalgoritmit käyttävät usein kekoa esimerkiksi solmujen läpikäyntijärjestyksen tallentamiseen ja selvittämiseen.
 
== Lähteet ==
{{Viitteet}}
== Aiheesta muualla ==
{{commonscat-rivi}}
 
[[Luokka:Ohjelmointi]]