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

Odpowiednia Reprezentacja drzewa z korzeniem i hierarchią dla nie oczywistych danych

Ostatnio zmodyfikowano 2015-08-28 00:28
Autor Wiadomość
heroarthur
Temat założony przez niniejszego użytkownika
Odpowiednia Reprezentacja drzewa z korzeniem i hierarchią dla nie oczywistych danych
» 2015-08-27 22:38:48
Witajcie ponownie, chce w zadaniu na podstawie danych wejsciowych stworzyc drzewo (czyli graf spojny bez cykli)
z wykorzystaniem struktury jak np ta:
C/C++
typedef struct rob {
    int Pre_order;
    int Suma_poddrzewa;
    rob * lewy_syn, * prawy_brat, * ojciec;
    int poziom;
    int numer_wierzcholka;
} WIERZCHOLEK;

Przyjmujemy że ukorzeniamy drzewo w wierzchołku nr 1,

i teraz dla 5 wierzchołków i danych o połaczeniach:

1 2
1 5
3 5
4 5

widze ze 1 jest ojcem dla 2 i dla 5
a potem w 2 ostatnich wierszach skoro 5 ejst synem 1 to bedzie ojcem 3 a nie odwrotnie i analogicznie połaczenie 4 5

jednak dla danych
1 2
1 5
3 4
4 5

znowu 1 jest ojcem 2 i 5 ale teraz mam informacje że 3 i 4 są połączone ale jeszcze nie wiem kto jest ojcem dla kogo i dopiero potem wiedze ze 5 jest ojcem dla 4 wiec 4 bedzie ojcem dla 3 (tak jest dlatego że to drzewo i od 1 jest tylko jedna droga do 3 bo inaczej bylby cykl)

czy nie macie pomysłu na jakąś prostą idee która to "naturalnie" a nei jakos sztucznie przetworzy i na podstawie takich danych stworzy drzewo? (a jeśli ktos chce link do zadania: http://main.edu.pl/pl/archive​/oi/9/kom)
P-136957
heroarthur
Temat założony przez niniejszego użytkownika
» 2015-08-28 00:28:54
wymyslilem że na podstawie danych:
1 2
1 5
3 4
3 5

robimy najpierw liste sąsiedztwa, jak dla grafu nieskierowanego wyglądająca tak:

1 | 2 5
2 | 1
3 | 5 4
4 | 3
5 | 3 1

i teraz wykorzystując kolejke FIFO wrzucamy do niej wierzcholek 1 i przeszukujemy BFS'em dorzucając do niej kolejno wszystkich sąsiadów 1, analogicznie dalej dorzucamy pod warunkiem ze nie byl juz przeszukany i widzimy kto jest ojcem dla kogo, podczas tego budujemy drzewo ktore chcemy przedstawic za pomocą drzewa binarnego bo każde zwykle drzewo mozną przedstawić za pomocą binarnego, http://www.deltami.edu.pl​/temat/informatyka/algorytmy​/2014/02/28​/Bardzo_oszczedne_drzewa_I/
jesli nikt nie ma lepszych pomyslow to zamkne,

niech ktos prosze napisze czy pytania o zadania mają racje bytu na tym forum czy nie
P-136964
« 1 »
  Strona 1 z 1