Drzewko Binarne
Ostatnio zmodyfikowano 2019-10-15 22:38
notFallingDevil Temat założony przez niniejszego użytkownika |
Drzewko Binarne » 2019-10-15 21:13:08 Witajcie! Jestem początkującym programistą i w liceum na obozie programistycznym w grupie podstawowej znalazło się zadanie o nazwie Drzewko Binarne polegające na tym, że użytkownik podaje N, czyli ile „pięter” ma drzewko, a następnie podaje n*n-1 liczb, które są kolejnymi wierzchołkami i synami (każdy wierzchołek ma 2 synów). Zadanie polega na wskazaniu sumy wierzchołków w jednej gałęzi o jak najmniejszej wartości, czyli po prostu liczymy sumę wartości wierzchołków gałęzi i najmniejszy wynik wypisujemy (wiem, że troche pogmatwane, ale mam nadzieje, że po krótkiej analizie zrozumiecie). Od razu mowie: nie chce gotowego kodu, a jedynie pomysły jak można to zrobić, co wykorzystać? Jakby co to znam podstawy STLa. Z góry dziękuje za pomysły |
|
pekfos |
» 2019-10-15 21:22:06 wiem, że troche pogmatwane, ale mam nadzieje, że po krótkiej analizie zrozumiecie |
Zgubiłem się na użytkownik podaje N, czyli ile „pięter” ma drzewko, a następnie podaje n*n-1 liczb, które są kolejnymi wierzchołkami i synami (każdy wierzchołek ma 2 synów). |
Nie potrafię sobie wyobrazić takiego drzewa. W drzewie binarnym o N "piętrach" jest 2 N-1 wartości, nie N 2-1. pomysły jak można to zrobić, co wykorzystać? |
Wskaźniki, obviously. Albo możesz skorzystać z tego jak wyjątkowo regularne jest te drzewo, trzymać wierzchołki w tablicy i odpowiednio obliczać indeksy. Przykładem takiego drzewa jest sterta, używana w algorytmie heap sort. |
|
notFallingDevil Temat założony przez niniejszego użytkownika |
Odpowiedź » 2019-10-15 21:37:39 Mój błąd z tą ilością wierzchołków, tak czy siak poniżej załączam link do dokładnej treści zadania: https://imgur.com/a/EEBhY9e Jak możecie to poproszę jak najprostsze rozwiązanie. Dopiero zaczynamy naukę i nie umiemy takich rzeczy jak wskaźnik, itp. |
|
pekfos |
» 2019-10-15 22:13:22 Podałem też opcję bez wskaźników. No ale dobra: narysuj sobie to drzewo na kartce i ponumeruj wierzchołki od góry do dołu, do lewej do prawej, zaczynając od 1. Przeanalizuj to co widzisz. |
|
notFallingDevil Temat założony przez niniejszego użytkownika |
» 2019-10-15 22:38:35 Dobra wpadłem na chyba spoko pomysł. Spróbuje to napisać jak mi się uda to zamknę. |
|
« 1 » |