2011-03-02 13 views
7

Jaka jest najbardziej kompletna implementacja drzewa n-ary dla C++? Potrzebuję prostej (nie pobudzającej BGL proszę) implementacji do użycia w projekcie zgodnym z LGPL, więc Tree.hh nie pasuje.Biblioteka drzewna n-n C++

+1

Jakie są wymagania drzewa? Możesz rzucić razem n-ar drzewo w 10 minut, jeśli wymagania są wystarczająco proste. – corsiKa

+0

jakie operacje chcesz z tym zrobić? – Andrey

+0

Nie chcę spędzać czasu na pisaniu nowej biblioteki n-ary, ponieważ będę potrzebował prawie wszystkich metod traversal. Wymagania są tam: http://library.gnome.org/devel/glib/2.28/glib-N-ary-Trees.html, myślę w użyciu glib, ale staram się znaleźć coś bardziej przyjaznego dla C++ . – Tarantula

Odpowiedz

1

Z tego pytania odkryłem, że nie ma prostej, udokumentowanej, zgodnej z LGPL biblioteki drzewek, która jest porównywalna do implementacji drzewa nibii GLib. W końcu użyłem API C z GLib.

3

Wiem, że powiedziałeś, że nie chcesz tego, ale ... dlaczego nie przynajmniej demo/prototyp z BGL? W najgorszym wypadku zmarnowałeś kilka godzin, aw najlepszym razie zdajesz sobie sprawę, że (przynajmniej dla twojego konkretnego zastosowania) nie jest tak skomplikowany, jak ci się wydawało. Górną stroną jest to, że BGL jest prawdopodobnie najlepiej sprawdzoną opcją.

+3

Nie byłem nawet w stanie znaleźć prostego przykładu BGL implementującego proste drzewo, nie chcę spędzać czasu z biblioteką, w której będę używał jej 10%. – Tarantula

+1

+1 I sekundę tę odpowiedź. @Tarantula: Korzystałem z biblioteki Boost Graph Library dla wielu projektów od 2004 r. Do chwili obecnej (aktualnie używam go). Zgadzam się, że początkowa dokumentacja jest nieco przytłaczająca i ciężka dla klas "pojęcia" i iteratorów. Ale poza tym nie zgadzam się z tobą: "używając tylko 10%" znajduje się dla BGL. Jest to biblioteka tylko nagłówkowa, więc jeśli czegoś nie użyjesz, nie przyczyni się to do nadpisywania kodu. – phooji

1

Autor Tree.hh wydaje się bardzo otwarty na pracę na licencji innej niż GPL. Dlaczego nie podrzucisz mu linii i nie zobaczysz, czy będzie otwarty na zwolnienie z GPL?

2

Poszukuję odpowiedzi na to samo pytanie, które znalazłem pod licencją BSD 3-klauzuli.