Qual è l'implementazione dell'albero n-ary più completa per C++? Ho bisogno di un'implementazione semplice (non boost BGL per favore) da usare in un progetto compatibile con LGPL, quindi lo Tree.hh non va bene.Libreria ad albero n-ary C++
risposta
Ciò che ho scoperto da questa domanda, è che non esiste una libreria ad albero compatibile LGPL semplice, che paragona all'implementazione di GLib n-ary Tree. Alla fine, ho usato l'API C dal GLib.
So che hai detto che non lo vuoi, ma ... perché non almeno demo/prototipo con BGL? Nel peggiore dei casi hai sprecato poche ore e al massimo ti rendi conto che (per il tuo particolare caso d'uso almeno) non è così complicato come pensavi che sarebbe stato. L'up-side è che BGL è probabilmente l'opzione più testata là fuori.
Non sono nemmeno riuscito a trovare un semplice esempio di BGL che implementa un albero semplice, non voglio passare del tempo con una libreria in cui userò il 10% di esso. – Tarantula
+1 Secondo questa risposta. @Tarantula: Ho usato la Boost Graph Library per un certo numero di progetti tra il 2004 e il presente (attualmente sto usando, in realtà). Sono d'accordo che la documentazione iniziale sia un po 'schiacciante e pesante sulle classi e sugli iteratori del' concetto '. Ma al di là di questo, non sono d'accordo con te: "utilizzando solo il 10% di esso" è stato trovato per il BGL. È una libreria di sola intestazione, quindi se non usi qualcosa, non contribuirà a gonfiare il codice. – phooji
L'autore di Tree.hh sembra molto aperto a lavorare su una licenza diversa dalla GPL. Perché non gli mandi una linea e vedi se sarebbe stato aperto a un'esenzione dalla LGPL?
In cerca di una risposta alla stessa domanda, ho trovato http://www.datasoftsolutions.net/tree_container_library/overview.php che sembra essere sotto la licenza BSD a 3 clausole.
Quali sono i requisiti dell'albero? Puoi creare un albero n-ario in 10 minuti se i requisiti sono abbastanza semplici. – corsiKa
quali operazioni vuoi fare con esso? – Andrey
Non voglio passare molto tempo a scrivere una nuova libreria ad albero n-ary, poiché avrò bisogno di quasi tutti i metodi di attraversamento. I requisiti sono qui: http://library.gnome.org/devel/glib/2.28/glib-N-ary-Trees.html, sto pensando di usare glib, ma sto cercando di trovare qualcosa di più C++ amichevole . – Tarantula