Ich habe Probleme mit Hashing und binärem Suchbaummaterial. Und ich habe gelesen, dass anstelle von Listen zum Speichern von Einträgen mit denselben Hashwerten auch binäre Suchbäume verwendet werden können. Und ich versuche zu verstehen, was die schlechteste und durchschnittliche Laufzeit für die Operationen ist
insert
,find
unddelete
ist wert. Durchschnittsfall. Verbessern sie sich in Bezug auf Listen?
Antworten:
Bei Listen erfolgt das Einfügen, Suchen und Löschen in , O ( n ) , O ( n ) . Sortierte Liste sind schlechter. Die binäre Suche selbst erfolgt nach sortierten Arrays, in denen sich die Operationen in O ( n ) , O ( log n ) , O ( n ) befinden . Wenn Sie "Einfügen" und "Löschen" möchten, benötigen Sie mehr als nur eine binäre Suche.O(1) O(n) O(n) O(n) O(logn) O(n)
Sie möchten wahrscheinlich so etwas wie binäre Suchbäume . Es ist viel einfacher, Referenzen darüber zu finden, wenn Sie die richtige Terminologie haben. Diese Operationen sind in Worst-Case-Zeit, beispielsweise für Implementierungen mitAVL-Bäumenundrot-schwarzen Bäumen.O(logn)
quelle
quelle