Z " N " Liczba węzłów, ile różnych binarnych i binarnych drzew Wyszukiwania możliwe?
W przypadku drzew binarnych: nie ma potrzeby rozważania wartości węzłów drzewa, interesują mnie tylko różne topologie drzew z 'N' węzłami.
Dla binarnego drzewa wyszukiwania: musimy wziąć pod uwagę wartości węzła drzewa.
10 answers
Polecam Ten artykuł mojego kolegi Nicka Parlante(z czasów, gdy jeszcze był w Stanford). Liczba strukturalnie różnych drzew binarnych (problem 12) ma proste rozwiązanie rekurencyjne (które w formie zamkniętej kończy się wzorem katalońskim, o którym już wspomniałem w odpowiedzi @ codeka).
Nie jestem pewien, w jaki sposób liczba różnych strukturalnie drzew binarnych search (W skrócie BSTs) różni się od liczby "zwykłych" drzew binarnych -- z tym wyjątkiem, że jeśli przez "rozważmy wartości węzła drzewa" masz na myśli, że każdy węzeł może być np. dowolną liczbą zgodną z warunkiem BST, a następnie liczbą różną (ale nie wszystkie strukturalnie różną!- ) BSTs jest nieskończony. Wątpię, że tak myślisz, więc proszę wyjaśnij, co masz na myśli, używając przykładu!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-15 04:02:45
Całkowita liczba drzew binarnych to =
Sumując i podaje całkowitą liczbę binarnych drzew wyszukiwania z węzłami N.
Podstawowym przypadkiem jest T (0) = 1 i t(1) = 1, tzn. jest jeden pusty BST i jest jeden BST z jednym węzłem.
Tak więc, ogólnie można obliczyć całkowitą liczbę binarnych drzew wyszukiwania używając powyższej formuły. Zadano mi pytanie w Google Wywiad związany z tą formułą. Pytanie, ile w sumie nie z binarnych drzew wyszukiwania są możliwe z 6 wierzchołkami. Więc odpowiedź to t (6) = 132
Myślę, że dałem ci jakiś pomysł...Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-17 15:53:06
Liczbę drzew binarnych można obliczyć za pomocą Liczby Katalońskiej .
Liczba binarnych drzew wyszukiwania może być postrzegana jako rozwiązanie rekurencyjne. to znaczy, liczba binarnych drzew wyszukiwania = (Liczba Left binarnych pod-drzew wyszukiwania) *(Liczba Right binarnych pod-drzew wyszukiwania) * (sposoby wyboru korzenia)
W BST liczy się tylko względny porządek między elementami. Tak więc, bez straty na ogólności, możemy założyć, że poszczególne elementy w drzewa są 1, 2, 3, 4, ...., n . Również niech liczba BST będzie reprezentowana przez f (N) dla n elementów .
Teraz mamy wiele przypadków wyboru korzenia.
- wybierz 1 jako root, żaden element nie może być wstawiony na lewym drzewie podrzędnym. N-1 elementy zostaną wstawione na prawym drzewie podrzędnym.
- Wybierz 2 jako root, 1 element można wstawić na lewym Podrzewie. N-2 elementy można wstawiać po prawej stronie sub-tree.
- Wybierz 3 jako root, 2 element można wstawić na lewym Podrzewie. N-3 elementy mogą być wstawiane na prawym Podrzewie.
...... Podobnie, dla i-th element jako pierwiastek, i-1 elementy mogą być po lewej i n-i po prawej.
Te podzbiory są same w sobie, więc możemy streścić wzór jako:
f (n) = f (0) f(n-1) + F(1)f (n-2) + .......... + f (n-1) f(0)
Przypadki bazowe, f (0) = 1, ponieważ istnieje dokładnie 1 sposób na utworzenie BST z 0 węzłami. f (1) = 1, ponieważ istnieje dokładnie 1 sposób na utworzenie BST z 1 węzłem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-02 15:08:55
Jeśli podano Nie. węzły są wtedy N.
Inny Nie of BST=Catalan (N)
Inne Nie. z różnych strukturalnie drzew binarnych są = Catalan (N)
Inny Nie drzewa binarne są=N!* Kataloński (N)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-20 11:55:14
Eric Lippert miał ostatnio bardzo dogłębną serię wpisów na blogu o tym: "Every Binary Tree There Is " i "Every Tree There Is " (plus kilka kolejnych).
W odpowiedzi na twoje konkretne pytanie mówi:
Liczba drzew binarnych z węzłami n jest określona przez liczby katalońskie , które mają wiele interesujących właściwości. N - ta liczba katalońska jest określona wzorem (2n)! / (n+1)n!, który rośnie wykładniczo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-15 03:56:47
Różne drzewa binarne z węzłami n:
(1/(n+1))*(2nCn)
Gdzie C = kombinacja np.
n=6,
possible binary trees=(1/7)*(12C6)=132
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-13 21:09:57
(2n)!/n!*(n+1)!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-24 05:44:23
The number of possible binary search tree with n nodes (elements,items) is
=(2n C n) / (n+1) = ( factorial (2n) / factorial (n) * factorial (2n - n) ) / ( n + 1 )
where 'n' is number of nodes (elements,items )
Example :
for
n=1 BST=1,
n=2 BST 2,
n=3 BST=5,
n=4 BST=14 etc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-07 13:44:46
Poprawna odpowiedź powinna brzmieć 2nCn/(n+1) dla nieoznakowanych węzłów, a jeśli węzły są oznakowane to (2nCn)*n!/(n+1) .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-22 13:17:37
Drzewo binarne:
Nie trzeba brać pod uwagę wartości, musimy spojrzeć na strukturę.
Given by (2 power n) - n
Np: dla trzech węzłów jest to (2 Moc 3) -3 = 8-3 = 5 różnych struktur
Binarne drzewo wyszukiwania:
Musimy wziąć pod uwagę nawet wartości węzłów. Nazywamy ją liczbą katalońską
Podane przez 2n C n / n+1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-18 17:45:56