Bináris fa tárolása?
Biráris fa adatait szeretném eltárolni a lehető leggazdaságosabban, természetesen úgy, hogy a fa az állományból visszaállítható legyen.
A tárolandó adatok tipusa byte.
Előre is köszönöm.
Értettem amit írtál, pont úgy ahogy most újra leírtad... a MAP a kérdés, hogy hogy néz ki egy 14 csúcsú 5 szintű fára.
Ezt kétlem, hogy kihozod 14 vagy 16 bitből... és ez még csak az az eset mikor 1 szinttel lóg túl valamelyik ág.
Az a fontos, hogy ne kerüljön sokba.
z80 CPU, 16 KB RAM, 0 KB ROM és egy 300 Ft-os RF adó lesz az egész, szünetmentes tápról járatva.
Na, itt van, ha el nem baxtam valamit:
és a tartalom:
A fa csúcsainak száma tíz. Az utolsó tag a MAP, a szinteket vessző tagolja.
[10], [5,11,2,3,9,4,12,8,13,1], [1,11,1100,10110000,11000000 00000000]
Mint fentebb, csak a MAP immár nem szintenként, hanem bájtonként tagolva és kiegészítve egy 0-val (hogy a 8 bit egy bájtot alkosson)
[10], [5,11,2,3,9,4,12,8,13,1], [11111001 01100001 10000000 0000000"0"]
A MAP az én elképzelésemben:
[10], [5,11,2,3,9,4,12,8,13,1], [1-11-1100-(JS)-1011-11 0]
A MAP a végén 2 db nullával bájtra kerekítve. Ha a gyökérelem bitjét kihagynánk, akkor sem nyernénk az ügyön. Legalábbis ebben az esetben.
[10], [5,11,2,3,9,4,12,8,13,1], [11111001 011110"00"]
Tehát a 20 extra bit helyett 24 lett.
Mért kéne full duplex wireless cucc? Én csak azt mondom, hogy az 5x-ös elküldés helyett sokkal kevesebb bitből pont ugynazt az eredményt el lehetne érni. Pont ugyanúgy egyirányú küldéssel.
Egy lehetőség a fenti példára. (Lehet, hogy már írták, bocsi.)
A lényeg: [érték, gyerekek száma], ... mindezt mélységi bejárás szerint, megfelelő rekurzív függvénnyel gyorsan, egyértelműen visszafejthető.
[5,2],[11,2],[3,1],[4,2],[13,0],[1,0],[9,2],[12,0],[8,0],[2,0]
Az [érték, gyerekek száma] nem megfelelő, mert akkor ne mlehet tudni, hogy ha 1 gyerek van az bal vagy jobb oldali.
Egyébként igen, erről már volt szó.. 2 bit kell minden csúcshoz, hogy melyik gyerek létezik. Ez kb ugyanaz mint a gyerekek száma, csak így benne van az is, hogy melyik gyerek:)... és 0,1,2 helyett 0,1 (pl. bal gyerek),2 (jobb gyerek),3 (mindkettő) értékeket vehet fel:)
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!