Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] Funkcja rekurencyjna dla drzewa binarnego
#1
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"
Odpowiedz
#2
Przecież w necie tego pełno jest. Jak będę miał chwile to Ci napisze
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Funkcja mail () - tryb odpowiedzi. pawstrze 1 2,299 20-12-2012, 00:14
Ostatni post: Pedro84
  Funkcja mail() - odświeżanie strony pawstrze 6 5,392 12-12-2012, 02:05
Ostatni post: andrzejhi
  ORM dla drzewa Marys 1 2,187 05-11-2012, 19:19
Ostatni post: Pedro84
Toungue Funkcja w funkcji Radian 5 3,450 24-08-2012, 17:38
Ostatni post: Radian
  Funkcja do oczyszczania nazw plików osmose 2 3,251 27-08-2011, 22:55
Ostatni post: Raalsky

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl