Eine Operation für eine Anwendung, die einen AVL-Baum verwendet, hat die Zeit O (log N). Es dauert ungefähr 50 Millisekunden, um auf einer Sammlung von 10.000 Elementen auszuführen. Wie lange würdest du erwarten, dass es dauern würde, um auf einer Sammlung von 100.000 Elementen zu laufen?Wie finden Sie Zeit in Avl Trees?
-2
A
Antwort
2
Sie können einfach nicht die Zeit erraten, die es dauern würde, um es auf einer größeren Sammlung laufen zu lassen, weil Sie alle konstanten Berechnungskosten Ihrer Anwendung (d. H. Laden, Vorverarbeitung usw.) berücksichtigen müssen.
Sie können jedoch eine obere Grenze finden: log (10000) = 4, log (100000) = 5, so dass Sie erwarten könnten, dass es in weniger als 5/4 * 50 = 62,5 ms läuft, sofern Sie bereits erreicht haben das asymptotische Verhalten.
Wie auch immer, O (log N) ist eine sehr effiziente Komplexität, Ihr Algorithmus sollte sehr gut auf große Instanzen skalieren.
0
N Elemente zu behandeln, müssen Sie ungefähre Zeit
T ~ C * N * log (N)
für 10000:
50 ms = C * 10^4 * log(10^4) = C * 4 * 10^4 * log(10)
C = 50ms/(4 * 10^4 * log(10))
für 100000:
T ~ 50ms/(4 * 10^4 * log(10)) * 5 * 10^5 * log(10)
T ~ 50ms * 5 * 10/4 = 625 ms
So würden Sie Zeit etwa 625 ms
erwartenVerwandte Themen
- 1. Sind AVL Trees Evil?
- 2. Versuch zu implementieren finden in Avl-Baum
- 3. Unterschied zwischen B-Trees und 2-3-4 Trees
- 4. Unit Testing Expression Trees
- 5. Java Expression Trees
- 6. Linq Expression Trees im Compact Framework
- 7. Balancieren eines AVL-Baumes (C++)
- 8. Druckelemente von AVL-Baum
- 9. C++ AVL Baum Löschen
- 10. AVL Baum rotierende Techniken?
- 11. C++ AVL Tree Implementierung
- 12. AVL Tree Doppelrotationsfehler
- 13. Erstellen von Binary Search Trees
- 14. Finden Sie die aktuelle Zeit zwischen zwei Feldern in Oracle
- 15. Losing Referenzen in einem AVL-Baum
- 16. Clojure finger trees und flexvec
- 17. Wie die verbleibende Zeit eines SetTimeout finden()
- 18. Finden Sie aufeinanderfolgende Nullen in Python, basierend auf Zeit
- 19. RedBlack und AVL-Baum C++
- 20. Übersicht/Referenzhandbuch für Open Firmware Device Trees
- 21. Ist das ein AVL-Baum?
- 22. über AVL Tree Insertion Operation
- 23. C# Expression Trees - Dynamischer Wert Lookup
- 24. Rechtsdrehung von AVL gibt Probleme?
- 25. Finden von Link Zeit Engpässen
- 26. Wie findet man den Typ des unsymmetrischen AVL-Baumes?
- 27. Finden Sie die letzte Zeit Tabelle wurde aktualisiert
- 28. Ist Expression Trees eine Kernsprachefunktion von C#?
- 29. Finden Sie, ob die aktuelle Zeit zwischen mehreren Zeitbereichen liegt
- 30. Wann wählen Sie RB-Baum, B-Baum oder AVL-Baum?
Ich muss hinzufügen, dass oth Er scheint eine Komplexität von O (N log N) anstelle von O (log N) verstanden zu haben, was die übliche Komplexität für eine Abfrage in einem sortierten Baum ist (z. B. eine Karte in C++). Außerdem ändert die Basis des Logarithmus nichts, da sie in der großen O-Notation berücksichtigt wird. (log n = ln n/ln 10) – pvallet