Drzewa w c++

nova2

Użytkownik
Dołączył
Kwiecień 17, 2006
Posty
5
witam
moze to i glupi temta ale czy molgibyscie mi to wytlumaczyc tak na chlopski rozum
bylbym wdzieczny
 

killrathi

Użytkownik
Dołączył
Marzec 13, 2006
Posty
117
sprecyzuj o jakie drzewa ci chodzi...
Jest ich sporo rodzajow, np. BST, AVL...
a opisanie wszystkich to troche za duzo roboty
 

nova2

Użytkownik
Dołączył
Kwiecień 17, 2006
Posty
5
hmmm
chodzi mi o sposob deklaracji drzew i co one ogolnierobia, po co sa
smile.gif

wiem ze nie odpowiedzialem na pytanie ale nie do konca potrafie :pPP
 

killrathi

Użytkownik
Dołączył
Marzec 13, 2006
Posty
117
drzewo jest to struktura danych oparta na zmiennych wskaznikowych (wiem, wiem nieprecyzyjne okreslenie) wykorzystywana np. w slownikach. Drzewo sklada sie z kilku elementow:
- korzenia
- wezla
- liscia
- galezi

Przykladem prostgo drzewa moze byc drzewo binarne zawierajace slowa:
drzewo
/
krzak banan
/ /
truskawka ananas

i tak dalej...
Jaki to ma cel? otoz zauwaz ze masz wprowadzonych 5 slow, ale rozpoczynajac poszukiwanie od korzenia (w naszym przypadku jest to slowo "drzewo") i idac galeziami slowo ananas znajdziesz za pomoca max 3 porownan (jakbys przechowywal to np. w tablicy to byloby to max 5 porownan) Jak wiec przy duzych ilosicach danych mozesz szybko cos znalezc (tak dzialaja slowniki).
Pewnie zastanawiasz sie dlaczego slowa sa umieszczone akurat tak a nie inaczej. "Drzewo" to naz korzen- posiada dwie galezie, w prawej galezi zjaduja sie slowa "mniejsze" (alfabetycznie) od slowa "drzewo" a po lewej "wieksze". Daje to w pewnym sensie "posortowane" dane, dzieki czemu wyszukiwanie jest szybkie.
Zauwaz potege drzewa: ilosc danych jakie mozesz tam wsdzic to:
(2^dlugosc_galezi)-1. Czyli przy drzewie o dlugosci galezi 16 mozesz zapakowac ok 64k danych a wyszukanie interesujacej cie zajmie ci max 16 porownan...

to chyba wystarczy. Polecam literature z zakresu struktur danych
 
Do góry Bottom