http://geeksforgeeks.org/?p=6358 Czy ktoś może wyjaśnić, jak Morris Traversal ma złożoność czasową o(n)
? Podczas przemierzania, gdy węzeł ma lewe dziecko, jego kopia jest tworzona na prawe dziecko jego poprzednika. Tak więc najgorszy przypadek polega na tym, że poprzednika należy szukać w każdym węźle, aby zwiększyć złożoność? Czy brakuje mi tu czegokolwiek?Jaka jest złożoność Morris Traversal o (n)?
Odpowiedz
nie zwiększy to złożoności, ponieważ algorytm odbudowuje drzewo tylko w jednym kierunku (przebudowanie zajmuje tylko O (n), po którym jest tylko O (n), aby je wydrukować ... ale połączyły się zarówno funkcje do tej samej funkcji i dał specjalną nazwę dla algo to jest ...
Innym sposobem na to, aby zobaczyć, ile razy węzeł drzewa będzie wykonywany. Jak to jest stała (3 . czasy dla binarnego drzewa) Patrzymy na o (n)
Oryginalny papier do przechodzenia jest Traversing binary trees simply and cheaply Morris twierdzi, że czas złożoność wynosi o (n) w rozdziale Wstęp..
Jest także efektywny, zabierając czas proporcjonalny do liczby węzłów w drzewie i nie wymagając ani stosu w czasie rzeczywistym, ani "flag" bitów w węzłach.
Pełny artykuł powinien zawierać analizę złożoności czasowej. Ale pełny dokument nie może być dostępny za darmo.
Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间) dokonuje pewnych analiz. Jest to tłumaczenie odpowiedniej części:
N-węzłowe drzewo binarne ma krawędzie n-1. W przejściu Morrisa jedna krawędź jest odwiedzana najwyżej 2 razy. Jedna wizyta dotyczy lokalizacji węzła. Jedna wizyta dotyczy szukania poprzednika jakiegoś węzła. W poniższym drzewie binarnym czerwona linia przerywana służy do lokalizowania węzła. Czarna przerywana linia służy do wyszukiwania poprzedniego węzła.
- 1. Jaka jest najlepsza złożoność zagadek N-Queens?
- 2. Złożoność czasu Java O (n^2/3)
- 3. Jaka jest najgorsza złożoność sortowania kubełków?
- 4. SPOJ ARRAYSUB: O (n) Złożoność podejście
- 5. Jaka jest złożoność tego kodu manipulacji ciągami?
- 6. Jaka jest złożoność złożonych lin zrównoważonych?
- 7. Jaka jest złożoność czasu HashMap.containsValue() w java?
- 8. Jaka jest złożoność czasu przeglądarek HTML DOM
- 9. Jaka jest asymptotyczna złożoność operacji GroupBy?
- 10. Big-O złożoność c^n + n * (logn)^2 + (10 * N)^c
- 11. Jaka jest złożoność czasowa inicjowania macierzy?
- 12. Jaka jest złożoność czasu HashMap.containsKey() w java?
- 13. Jaka jest złożoność set_intersection w C++?
- 14. Asymptotic złożoność T (n) = T (n-1) + 1/n
- 15. Jaka jest złożoność czasu przejścia drzew przy użyciu plonu?
- 16. Jaka jest złożoność czasu A * i jak jest uzyskiwana?
- 17. tablica sortowania o rozmiarze n
- 18. Jaka jest złożoność czasu dodawania elementu na początku tablicy ArrayList?
- 19. Złożoność algorytmu
- 20. Traversal kierowanego grafu cyklicznego
- 21. Algorytm Knuth-Morris-Pratt w Haskell
- 22. Czy złożoność czasowa tego algorytmu Θ (n)?
- 23. Postorder Traversal
- 24. Złożoność czasowa indeksu javascriptJeśli chodzi o metodę
- 25. Złożoność kolejka priorytetowa AddAll()
- 26. Zmiana O (n^3) na O (n^2) w JavaScript
- 27. Czym jest złożoność dodawania macierzy?
- 28. Jaka jest różnica między \ n a \ r \ n?
- 29. Obliczeniowa złożoność konwersji bazy
- 30. `złożoność złożoności
sobie sprawę, że znalezienie poprzednik dla wszystkich węzłów w binarnym drzewie zajmie czas O (n) ... –