2010-11-17 8 views
6

Wo kann ich einen gebrauchsfertigen finden? Oder eine gute Sammlung von "Standard" -Datenstrukturen, wenn Sie welche kennen?Javascript: Benötigen Sie eine anständige rote schwarze Baumimplementierung

+0

Warum brauchen Sie einen rot-schwarzen Baum, wenn JavaScript-Objektliterale das Gleiche tun und wahrscheinlich sowieso als rot-schwarzer Baum in C implementiert werden? (könnte auch als eine Hash-Tabelle implementiert werden, die ähnliche Leistungsmerkmale aufweisen würde). – slebetman

+2

Um ein wenig pedantisch zu sein: Rot-Schwarz-Bäume haben garantiert Log-Verhalten, auch im schlimmsten Fall, aber Hash-Tabellen bieten diese Garantie nicht. Ein weiterer Unterschied besteht darin, dass Rot-Schwarz-Bäume funktionsfähig gemacht werden können, was je nach Anwendung nützlich sein kann. – dyoo

Antwort

1

Eine schnelle Überprüfung o‘wandten sich die Interwebs eine ready-to-use Implementierung von Kevin Lindsey (nach unten scrollen zu Rot-Schwarz-Bäume) nach oben:

KevLinDev - Utilities

Leider eines weiß ich nicht Site, die ein Repository von vorgefertigten komplexen Datenstrukturen hat.

Ich vermute, dass sie ein bisschen selten sind, da Leute selten JavaScript für die Art des schweren Anhebens verwenden, das diese Arten der komplexen Strukturen erfordern würde ... aber ich könnte falsch liegen.

+0

Ich frage mich, warum sie selten sind, wenn man bedenkt, wie ubiquitär Javascript im Allgemeinen ist ... – Hamster

+3

Diese Implementierung ist eigentlich von einem AVL-Baum, und fälschlich als Red-Black-Tree bezeichnet! Immer noch O (log n). – smilingthax

Verwandte Themen