Java knihovna pro práci se stromy

Raskal

Re:Java knihovna pro práci se stromy
« Odpověď #15 kdy: 04. 06. 2015, 12:45:37 »
@Ivan

Citace
Pokud jde o ulohy odlisne od tech co se davaji na pisemkach

Ano, jsem jiz ponekud dal :-).

Citace
...se ti mohlo hodit JAXB

JAXB pouzivam a obcas se hodi, kdyz clovek netrva na bezpecnem refaktoringu kodu. Hodi se treba ve fazi prototypovani obsluhy slozitych datovych struktur.

Citace
Dalsi co by se ti mohlo hodit je ANTR/StringTemplate. To je ale vyssi uroven a vyzaduje to hodne uceni. ANTLR umi (mimo jine) TreeParser. Deklarativne popises gramatiku stromu o ono to udela "pattern-match" nad celym stromem (nemusi to byt nutne AST). Je to takovy obecnejsi Visitor design pattern.

Diky za tip, podivam se na to. Trochu mam obavu, ze zavislost na konkretnim resenem problemu bude vyssi, nez aby to slo separatne pouzivat.


F.

Re:Java knihovna pro práci se stromy
« Odpověď #16 kdy: 04. 06. 2015, 12:46:09 »
Neo4j neni zadna hipster databaze, ale odladenej tool s historii pres 10 let (ze maji posledni dobou hype je jen bonus..).

Po precteni toho co chces delat by pro me neo4j byla jasna volba. Umi to bezet embedded a pripadne i in-memory (to se teda pouziva pro testy..). Vezme si to par desitek MB pameti, ale to se v java webovce ztrati.

>filtrace nodu, skladani stromu jako by to byl jeden strom, jine transformace, ...

Cypher (dotazovaci jazyk neo4j) je specialne tvoreny na manipulace/prochazeni/transformace/agregace grafu (coz strom je) - idealni nastroj.

Jinak pokud chces fakt "knihovnu na stromy" tak co toto? https://code.google.com/p/concurrent-trees/



Ivan

Re:Java knihovna pro práci se stromy
« Odpověď #17 kdy: 04. 06. 2015, 13:12:24 »
Citace
...se ti mohlo hodit JAXB
JAXB pouzivam a obcas se hodi, kdyz clovek netrva na bezpecnem refaktoringu kodu. Hodi se treba ve fazi prototypovani obsluhy slozitych datovych struktur.

JAXB je v tomhle pripade "nutne zlo". Tim benefitem je deklarativni XPATH vyraz, ktery vytvori iterator na stromovou strukturou objektu.

Raskal

Re:Java knihovna pro práci se stromy
« Odpověď #18 kdy: 04. 06. 2015, 13:43:48 »
Neo4j neni zadna hipster databaze, ale odladenej tool s historii pres 10 let (ze maji posledni dobou hype je jen bonus..).

Po precteni toho co chces delat by pro me neo4j byla jasna volba. Umi to bezet embedded a pripadne i in-memory (to se teda pouziva pro testy..). Vezme si to par desitek MB pameti, ale to se v java webovce ztrati.

>filtrace nodu, skladani stromu jako by to byl jeden strom, jine transformace, ...

Cypher (dotazovaci jazyk neo4j) je specialne tvoreny na manipulace/prochazeni/transformace/agregace grafu (coz strom je) - idealni nastroj.

Jinak pokud chces fakt "knihovnu na stromy" tak co toto? https://code.google.com/p/concurrent-trees/

Diky za tip. Radix a Postfix stromy jsou sice specializaci prace se stromy, ale i tak to bude jiste inspirativni.