Keko; binääripuu; linkitetty rakenne; miten löytyy "last"?

epät. koodari

Eli ongelma lyhykäisyydessään:

On olemassa keko, joka on linkitettynä rakenteena toteutettu binääripuu, jolle pitäisi tehdä insert yms. operaatioita.

Millä algoritmilla (myös mikä tahansa ohjelmointikieli/pseudokoodi/linkki kelpaa), miten linkitetystä puurakenteesta löytyy se paikka, jonne seuraava operaatio tehdään?

Eli, miten päivitetään muuttuja "last", joka viittaa viimeisimpään kekoon lisättyyn alkioon? Ja siis ennen kaikkea, millä algoritmilla tuo "last" päivitetään, jos halutaan tietää esim. seuraava paikka, jonne lisäys pitää tehdä?

3

986

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Nimimerkki

      Seuraavan objektin paikkahan riippuu täysin tietorakenteesta johon (ja objektin jonka) haluat tietoja syöttää. Jos käytät jotain järjestettyä puuta, alkio laitetaan puussa oikealle paikalleen, järjestämättömässä linkitetyssä listassa alkoi laitetaan listan viimeiseksi jne... Eli binääripuun tapauksessa sinulla ei voi olla tiedossa mihin seuraava alkoi puussa laitetaan, ennen kuin tiedät mikä alkio syötetään.

      Linkki viimeisimpään alkioon on helppo ylläpitää, mutta siitä ei ole iloa kun halutaan syöttää seuraava arvo. AVL-puu tai puna-musta-puu hauilla netistä löytyy varmasti vinkkiä. Toisaalta esimerkiksi Javassa on valmiina tuommoiset tietorakenteet (java.util.*), jos sinun ei koulua varten tarvitse moisia tehdä uudestaan.

      • epät. koodari

        Keko-rakenne jo itsessään sanelee aika paljon sitä, miten binääripuu pitää rakentaa. Siinä uusi alkio lisätään aina ensin keon viimeiseksi alkioksi ja sitten kuplitaan ylöspäin omalle paikalleen avaimen arvon perusteella.

        Mutta, nou hätä. Ratkaisin jo ongelman ja joo, koulua varten tätä moskaa pitää pähkäillä...


      • taulukkona
        epät. koodari kirjoitti:

        Keko-rakenne jo itsessään sanelee aika paljon sitä, miten binääripuu pitää rakentaa. Siinä uusi alkio lisätään aina ensin keon viimeiseksi alkioksi ja sitten kuplitaan ylöspäin omalle paikalleen avaimen arvon perusteella.

        Mutta, nou hätä. Ratkaisin jo ongelman ja joo, koulua varten tätä moskaa pitää pähkäillä...

        toteutettuna on paljon nopeampi!


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Au Pairit Maltalla - Keskustelua !!

      Keskustelua uudesta kaudesta. Täällä kaikki jaksot katsottu kun verot pakko maksaa.. Myyn ulkopuolelle jättäminen oli su
      Tv-sarjat
      248
      2620
    2. Suomalaisia valmistautuneena pakenemaan

      https://yle.fi/a/74-20084635 “Auto on aina tankattuna ja pari laukkua valmiiksi pakattuna, jos tulee äkkilähtö.”
      Maailman menoa
      377
      1752
    3. Mitä ajattelen sinusta

      Että olit erilainen kuin muut ja jollakin kummalla tavalla samanlainen kanssani, vaikka ei tunnetukaan. Sinun kanssa tu
      Ikävä
      64
      1652
    4. Yritin nainen

      Kaikkeni ettei meidän välille syntyisi mitään. Tiesin jo hyvin alussa että sinä olet minun heikko kohta. Lopulta kuitenk
      Ikävä
      85
      1408
    5. Miksi et voi

      Soittaa tai laittaa viestiä
      Ikävä
      111
      1193
    6. Ei kiinnosta idän humpuuki

      Onko kukaan ihminen koskaan hyötynyt idän opeista pätkääkään? Ei ole, uskallan väittää!
      270
      1033
    7. Ristinryövärin kastamattomuus?

      KASTAMATON RISTINRYÖVÄRI Ristinryövärin pelastumista ilman kastetta on joskus käytetty perusteena sille, ettei kasteell
      Luterilaisuus
      274
      933
    8. Ikävöin sinua nainen

      Vaikka lopetin yhteydenpidon kokonaan. Ehkä joskus ymmärrät, et se oli ainoa järkevä vaihtoehto. Ei rakkaus lopu siihe
      Ikävä
      41
      915
    9. Iso ikävä sinua nainen

      Aina vain, ei helpota millään. Ainoa varma helpotus olisi se et oltais yhdessä. Mutta se ei sinulle sovi.
      Ikävä
      29
      775
    10. Tiedostan kyllä mitä tapahtuu

      Jos kohtaamme vielä, sitä ei voi välttää. Tiedostathan sinäkin? Parempi siis vain vältellä💔
      Ikävä
      47
      728
    Aihe