OT: šílená datová struktura
Tomáš Vymětal
vymetalt@snt.cz
Sobota Leden 14 10:43:44 CET 2006
Potřeboval bych navrhnout datovou strukturu, která může připomínat (asi
hodně vzdáleně) strom. Takže k vlastnostem:
- vždy dvě větve určují unikátního potomka (bojím se, že ta unikátnost
nemusí časem být aktuální)
- může dojít k tomu, že obě větve jsou stejné, pak i potomek je stejný
jako oba "rodičové"
- potomek automaticky vzniká i jako větev v "nulté" úrovni (tedy jako rodič)
- každá buňka má dvě hodnoty - jméno a hodnotu (opět je možné, že časem
dojde ke změně) .. je nutná možnost abecedního vyhledávání a setřídění
hodnot podle velikosti s možností zobrazení "rodičů" uzlu až do výšky
tři (pokud rodiče neexistují, odkáže dvakrát na sebe) a grafické
zobrazení tohoto stromu. Každý prvek stromu je odkaz na možnost
zobrazení vlastností včetně stromu daného prvku. Na druhou stranu,
umožňuje další výběr z dostupně známých "rodičů" a v případě jeho výběru
se vygeneruje strom pro jejich potomka
- z databáze dostupných "rodičů" (zvláštní seznam několika až desítek
dostupných, již do databáze zavedených položek) vypsat neznámé potomky
(s následující možností zadání jejich vlastností)
- teoreticky je nekonečná výška grafu, v praxi však nebudou mít určité
kombinace potomka, kam je nutné zavést nějaký "terminátor" ... takto
ukončené "vývojové větve" se nebudou nabízet v neznámých potomcích
příklad:
- první dva rodičové jsou 1 a 2
- jejich potomek bude 12 (zanedbejme "21")
- dostupní rodičové jsou 1, 2 a 12
- takže zatím neznámí potomci jsou (např.) 112 a 122
- zadám-li zobrazení stromu potomka 12, zobrazí se rodičové 1 a 2 a pak
jejich jednotlivé větve budou obsahovat dvě patra plná jedniček a dvojek
- dostupní potomci jsou 1, 2, 12, 112 a 122
- kombinace posledních tří (např.) neexistují, takže se jako neznámí
potomci zobrazí 1-112, 112-2, 1-122 a 122-2
atd.
(infantilní) praktický příklad:
- první dva rodičové jsou voda a oheň
- potomek je pára
- potomek vody a páry neexistuje, páry a ohně bude plazma ..
(dál mě nic nenapadá ;)
Doufám, že jsem to popsal nějak rozumně pochopitelně. Vůbec netuším, kam
bych se měl podívat, či jak se může podobná struktura jmenovat,
existuje-li ... napadá mě snad pouze srovnání s hasseovskými diagramy.
Bojím se, že budu muset sednout, zamyslet se a začít psát, nicméně pokud
by mě někdo nakopl na dostupnou literaturu či nedej bože něco hotového,
budu líbat nohy. ;)
T.V.
Další informace o konferenci Hw-list