Problem s B stromom

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Problem s B stromom

Re:

od peterblack » 16. 12. 2008 21:10

src píše:
Dawe píše:Jo tak, atk to potom jo, jasně že to tam být nemá. Pokud je strom redundantní, tak jen listy ke zbytku. Zbytek stromu krom listů se chová skoro jako B-Strom.
Jinak výsledek by měl být asi takový:

Kód: Vybrat vše

                       30|41|62|88		
                       /  \
                     /     \
          13|21|28      32|40		
	  /  \				
 3|6|12    13|15|20		
Nějak se mi to nechce kloudně naformátovat, ale snad se to dá pochopit...
Ten strom je spatne, misto 13|21|28 tam ma byt 12|21|28, jelikoz redundatni B-strom ma vlastnost, ze vsechny klice z podstromu jsou mensi ci rovny nadrazenemu klici (viz skripta s. 66). Taktez novy hranicni klic je maximum z (zmenene) puvodni stranky, tj. 12.

Taky neni pravda, ze redundantni B-strom je redundantni ve vztahu listu ke zbytku. Existuji totiz dva typy: a) s duplikaci klice v listu a b) s duplikaci klice kdekoliv (opet viz skripta s. 66) - obrazky ve skriptech vypadaji jako a), ale popis algoritmu vkladani i ten desivy Pascal u toho je skoro urcite b) (nerozlisuje mezi listy a uzly, rekl bych). Takze vyse uvedeny strom je typu a) a na fearu je pokus o typ b) (ktery je ale spatne, protoze 28 a 30 puvodne mely spolecny podstrom a ted maji mit kazdy svuj - jak to ma byt dobre, to ze skript neplyne). At zije chaos!

Vsechno IMHO, samozrejme.
pane kolego uz jste zesilel gratuluji :-D
Dawe to ma podle zpusobu probiranem Zemlickou na cvikach, takze predpokladam ze to bude na zkouce vyzadovat
vse ostatni od Dawa take odpovida cvikam, prikladam zapisky ze cvik od Anicky, je to nich dobre videt
=> Dave tam zadnou chybu nema (ve smyslu reseni jake Zemlicka vyzaduje)
Přílohy
012.jpg
013.jpg

od src » 29. 1. 2007 16:15

Dawe píše:Jo tak, atk to potom jo, jasně že to tam být nemá. Pokud je strom redundantní, tak jen listy ke zbytku. Zbytek stromu krom listů se chová skoro jako B-Strom.
Jinak výsledek by měl být asi takový:

Kód: Vybrat vše

                       30|41|62|88		
                       /  \
                     /     \
          13|21|28      32|40		
	  /  \				
 3|6|12    13|15|20		
Nějak se mi to nechce kloudně naformátovat, ale snad se to dá pochopit...
Ten strom je spatne, misto 13|21|28 tam ma byt 12|21|28, jelikoz redundatni B-strom ma vlastnost, ze vsechny klice z podstromu jsou mensi ci rovny nadrazenemu klici (viz skripta s. 66). Taktez novy hranicni klic je maximum z (zmenene) puvodni stranky, tj. 12.

Taky neni pravda, ze redundantni B-strom je redundantni ve vztahu listu ke zbytku. Existuji totiz dva typy: a) s duplikaci klice v listu a b) s duplikaci klice kdekoliv (opet viz skripta s. 66) - obrazky ve skriptech vypadaji jako a), ale popis algoritmu vkladani i ten desivy Pascal u toho je skoro urcite b) (nerozlisuje mezi listy a uzly, rekl bych). Takze vyse uvedeny strom je typu a) a na fearu je pokus o typ b) (ktery je ale spatne, protoze 28 a 30 puvodne mely spolecny podstrom a ted maji mit kazdy svuj - jak to ma byt dobre, to ze skript neplyne). At zije chaos!

Vsechno IMHO, samozrejme.

Re: Problem s B stromom

od nohis » 7. 1. 2007 18:33

sabol.v píše:http://mff.fear.cz/forum/viewtopic.php? ... c&start=21

nemyslite ze v druhej hladine by tam nemalo byt 28? (je to z prikladu 5a v prilohe)
souhlasím s tebou myslím že by tam ta 28 neměla být :
- měla by být buď v listu a v jednom uzlu

- nebo pokud se 28 někdy dřív odstranila ze stromu, tak pak mohla být v některém uzlu ponechána jako klíč, ale zde je ve dvou uzlech což myslím taky nejde...

od Keleen » 7. 1. 2007 18:30

Jj, podle me mas pravdu, nema to tam byt.
Redundantni je pouze nejnizsi hladina Bstromu a vyssi uz se chovaji neredundantne, takze ta 28 do te druhe vrstvy skutecne nepatri a mela by byt jen v koreni.

od Dawe » 7. 1. 2007 18:29

Jo tak, atk to potom jo, jasně že to tam být nemá. Pokud je strom redundantní, tak jen listy ke zbytku. Zbytek stromu krom listů se chová skoro jako B-Strom.
Jinak výsledek by měl být asi takový:

Kód: Vybrat vše

                       30|41|62|88		
                       /  \
                     /     \
          13|21|28      32|40		
	  /  \				
 3|6|12    13|15|20		
Nějak se mi to nechce kloudně naformátovat, ale snad se to dá pochopit...

od sabol.v » 7. 1. 2007 18:23

myslim samozrejme tu 28 v tom vysledku (z fearu), ked to urobim ako Zemlicka na prednaske tak to tam nedostanem,(pri inserte 23 do redundantneho stromu na prednaske dostal zemlicka cislo 30 do korena, ale v druhej hladine to tam uz nenechal)

od Dawe » 7. 1. 2007 18:15

A máš nějakej rozumnej důvo, proč by to tam být nemělo? Já myslím, že je to OK. Ale třeba sem něco přehlíd.

Problem s B stromom

od sabol.v » 7. 1. 2007 18:13

http://mff.fear.cz/forum/viewtopic.php? ... c&start=21

nemyslite ze v druhej hladine by tam nemalo byt 28? (je to z prikladu 5a v prilohe)
Přílohy
priklad 5.a
priklad 5.a
page2.jpg (141.72 KiB) Zobrazeno 6379 x

Nahoru