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

1068

    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. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7463
    2. 83
      5092
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      79
      4889
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      132
      4288
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      10
      3068
    6. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      52
      2709
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      43
      2632
    8. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      53
      2267
    9. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      11
      2243
    10. Suudeltiin unessa viime yönä

      Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit
      Ikävä
      21
      1860
    Aihe