Wypełnienie struktury typu Tree.
Ostatnio zmodyfikowano 2014-01-22 20:14
grupynews Temat założony przez niniejszego użytkownika |
Wypełnienie struktury typu Tree. » 2014-01-19 23:05:00 Witam.
Mam bibliotekę, która tworzy drzewo, oto przykład użycia:
{ TreeNode node;
node.AddNode("A").AddNode("AA"); TreeNode node2=node.AddNode("B"); node2.AddNode("B1").AddNode("B11"); node2.AddNode("B2"); node2.AddNode("B3"); node.AddNode("C"); }
Ten kod generuje takie oto drzewko:
A -AA B -B1 ---B11 -B2 -B3 C
Mój problem polega na tym że ja dostaję dane w pętli i nie mogę zastosować powyższego kodu. Macie jakieś sugestie jak do tego należy podejść?? Męczę się z tym cały weekend i nic z tego nie wyszło.
Pozdrawiam. |
|
Wiesiek |
» 2014-01-20 11:23:27 Ja tu widzę dwa drzewa. Żeby można było coś doradzić musiałbyś wyjaśnić jak dane są w pętli przekazywane. Ponadto biblioteka musi mieć jeszcze jakieś funkcje. Z tego co widże, to tylko metodę AddNode(String) w klasie TreeNode tworzącą węzeł, który jest obiektem klasy TreeNode i zwracającą referencję do tego węzła. Musi być jeszcze możliwość uzyskiwania referencji do węzła bez jego tworzenia (chodzenie po drzewie). |
|
grupynews Temat założony przez niniejszego użytkownika |
» 2014-01-20 14:07:59 >Ja tu widzę dwa drzewa. Fakt, nie naszkicowałem poprawnie mojego przykładu. Wszystkie widoczne węzły należą do jednego nadrzędnego, poniżej poprawny szkic:
O -A --AA -B --B1 ----B11 --B2 --B3 -C
Biblioteka zawiera funkcję, która na podstawie indexu węzła zwraca jego referencję.
Poniżej wygląd pętli do której funkcja getData() wrzuca dane:
while (getData(strTmp, &extParam)) { // kod realizujący budowę drzewa. }
strTmp - to stringi z których buduję drzewo. extParam - parametr, który mówi ile innych elementów zawiera w sobie dany węzeł, dla tego przykładu te parametry wynoszą: O - 8 (wszystkie węzły) A - 1 (AA) AA - 0 B - 4 (B1, B11, B2, B3) B1 - 1 (B11) B11 - 0 B2 - 0 B3 - 0 C - 0
Nie mam pomysłu jak ogólnie napisać realizacje tego drzewa.
Pozdrawiam.
|
|
kwazar |
» 2014-01-22 20:14:22 A propos sposobu zaimplementowania tego drzewa - polecam drzewo Trie: http://lmgtfy.com/?q=trie+code+c%2B%2B Sam je kiedyś zaimplementowałem: https://github.com/krzyk240/Algorithms/blob/master/text/trie.hpp |
|
« 1 » |