Language: EN FI

Tehtävät > Haku binäärisestä hakupuusta

Nämä tehtävät ovat esimerkkjä ByTheMark-palvelusta löytyvästä oppimateriaalista. Ne on tarkoitettu itseopiskeluun. Jos haluat lisää tehtäviä tai seurata omaa edistymistäsi, luo ByTheMark Personal-demotunnus. ByTheMark Personal on maksuton yksityisille henkilöille tarkoitettu palvelu tietorakenteiden ja algoritmien opiskeluun.

Osa I: Haku binäärisestä hakupuusta

Binäärinen hakupuu on hakurakenne, jossa haku, lisäys ja poisto voidaan ideaalisessa tapauksessa tehdä logaritmisessa ajassa. Rakenteen tehokkuus perustuu siihen, että puu on järjestetty siten, että jokaisen solmun vasemmassa alipuussa on vain sitä pienempiä, ja oikeassa sitä suurempia avaimia.

Esitiedot

  • Tietorakenteet
    • Binääripuu
  • Algoritmit
    • Rekursio

Oppimistavoitteet

  • Hakurakenteet
    • Binäärinen hakupuun
      • Haku binäärisestä hakupuusta
      • Lisäys binääriseen hakupuuhun
      • Poisto binrääisestä hakupuusta

Haku binäärisestä hakupuusta tapahtuu etenemällä puun juuresta kohti lehtiä. Haettavaa avainta verrataan juuressa olevaan avaimeen. Mikäli haettava avain on pienempi kuin juuressa oleva avain, edetään puun vasempaan haaraan. Mikäli haettava avain on suurempi, edetään oikeaan haaraan. Mikäli avain on yhtä suuri, haku onnistui. Mikäli edetään tyhjään alipuuhun, haku epäonnistui (avainta ei ole hakurakenteessa).

Hahmottele edellä esitettyä kuvausta vastaava pseudokielinen algoritmi. Vertaa ratkaisuasi oheiseen algoritmiin (Search). Ratkaise sen jälkeen annettu tehtävä.


  Last modified Tue Mar 01 20:54:04 EET 2011