![]() |
[PHP] Funkcja rekurencyjna dla drzewa binarnego - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: [PHP] Funkcja rekurencyjna dla drzewa binarnego (/thread-php-funkcja-rekurencyjna-dla-drzewa-binarnego) |
[PHP] Funkcja rekurencyjna dla drzewa binarnego - Stap1989 - 11-08-2012 Witam, otóż jako że jestem studentem a no i co za tym idzie egzaminy trzeba zdać - pojawia się problem, mianowicie z programowania... jednym z elementów jaki muszę "zaliczyć" są ćwiczenia, i aby to zrobić otrzymałem nowy zestaw (specjalnie dla mnie :F) zadań które mam zrobić i wysłać prowadzącemu. I tutaj rodzi się problem gdyż jak się nie staram jest to dla mnie trudno, a kierunek ma tylko "podstawy" - zabawa frameworkami to zupełnie co innego i tutaj się orientuję w miarę, ale to poniżej to dla mnie duży problem... zadanie brzmi następująco... Drzewo to struktura zaleznosci dziecko-rodzic. Korzen drzewa nie ma rodzica. Wszystkie inne elementy drzewa posiadaja rodzica oraz same moga byc rodzicem. Element, ktory nie posiada dzieci nazywany jest lisciem. Strukture drzewa w informatyce trzyma sie w roznoraki sposob, ponizszy jest tylko jednym z wielu, i w dodatku nie najpopularniejszym. Majac tablice $tree odzwierciedlajaca elementy drzewa, dla elementu drzewa n, $tree[n] zawiera numer jego rodzica. Przykladowo $tree[0]=NULL, wtedy korzen ma numer 0, b onie posiada rodzica. $tree[2]=0, oznacza, ze dwojka jest bezposrednim dzieckiem elementu 0 (korzenia) itd. Drzewo mozna wypisac na wiele sposob ( po za oczywiscie jego graficzna prezentacja), z ktorych jednym jest PRE-ORDER : idac od korzenia, dla zadanego elementu wypisz go, a nastepnie idac od lewej, wypisz jego dzieci. Wypisujac dziecko stosuj te sama regule. Np. dla 0 / \ 4 6 / \ / \ 1 3 2 5 pre-order = 0,4,1,3,6,2,5 // Prosze napisac funkcje rekurencyjna, ktora dla zadanego drzewa $tree wypisze go w kolejnosci pre-order, wiedzac, ze zawsze 0 to korzen, czyli $tree[0]=NULL. Np. dla $tree=array(NULL,4,6,4,0,6,0); // pokazanej w przykladzie powyzej echo PreOrder($tree); zwraca : 0,4,1,3,6,2,5 proszę o pomoc w napisaniu takiej funkcji, będę wdzięczny za uratowanie "tyłka" RE: [PHP] Funkcja rekurencyjna dla drzewa binarnego - Marys - 11-08-2012 Przecież w necie tego pełno jest. Jak będę miał chwile to Ci napisze |