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