Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wypełnienie struktury typu Tree.

Ostatnio zmodyfikowano 2014-01-22 20:14
Autor Wiadomość
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.
P-102581
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).
P-102597
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.
P-102614
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
P-102875
« 1 »
  Strona 1 z 1