Ich bin auf der Suche nach einer integrierten Binary Search Tree Implementierung in .NET 4. Gibt es eine?Gibt es in .NET 4 eine Binary Search Tree-Implementierung?
Antwort
Die Klasse SortedDictionary<K,V>
verwendet einen Baum, ist das wonach Sie suchen?
Siehe diese SO answer für eine Diskussion.
könnten Sie verwenden SortedDictionary<TKey, TValue>
Eine weitere Option, um eine Liste zu verwenden ist und es zu sortieren. Dann können Sie die BinarySearch-Methode verwenden, um Elemente zu finden. Um die sortierte Liste zu pflegen, können Sie den von der BinarySearch zurückgegebenen Index verwenden, um einzufügen. Wenn der zurückgegebene Index negativ ist, verwenden Sie den Komplementoperator (~ operator) als Einfügeposition. Wenn der zurückgegebene Index positiv ist, können Sie ihn an dieser Position einfügen (es sei denn, Sie möchten ein ähnliches Verhalten in diesem Fall festlegen).
Klasse TreeDictionary implementiert Schnittstelle ISortedDictionary und stellt ein Wörterbuch von (Schlüssel, Wert) -Paare, oder Einträge, eine geordnete ausgewogene redblack Binärbaums verwendet. Der Zugriff auf Einträge, das Löschen von Einträgen und das Einfügen von Einträgen benötigen Zeit O (logn). Aufzählung der Schlüssel, Werte oder Einträge eines Baumwörterbuchs folgen der Schlüsselreihenfolge , wie durch den Schlüsselvergleich bestimmt.
http://code.google.com/p/self-balancing-avl-tree/. Balanced AVL-Tree-Implementierung mit Verkettung und Split-Operationen sowie SortedDictinary und SortedMultiDictionary basierend auf der AVL-Struktur.
- 1. Erstellen von Binary Search Trees
- 2. Binary Search Tree Problem
- 3. Binary Search Tree Fragen
- 4. Perfect Balanced Binary Search Tree
- 5. Binary String Search - minimale Fachbreite?
- 6. Binary Search Tree rekursive Destruktor
- 7. Binary Search Tree einfügen Funktion in OCaml
- 8. Gibt es eine Möglichkeit, eine .NET 4-Bibliothek in eine .NET 2-Anwendung zu marshallen?
- 9. Gibt es eine Google Image Search-API?
- 10. Binary Search Tree nicht Element hinzufügen
- 11. Balanced Binary Search Tree mit Backtracking
- 12. Binary Search Tree add Methodenreferenz verloren gehen
- 13. Gibt es mongodb C# -Treiberunterstützung System.Dynamic.DynamicObject in .NET 4?
- 14. eine .Net-2-Bibliothek in .NET 4
- 15. Gibt es in .NET eine DECAPTCHA-Bibliothek?
- 16. Gibt es eine GUID.TryParse() in .NET 3.5?
- 17. Gibt es einen Open Source Profiler für .Net 4?
- 18. Gibt es .Net 4 häufig verwendeten Namespaces Poster?
- 19. Gibt es eine Rails 4 Backports-Bibliothek?
- 20. Binary Search Tree kann nicht von Int in String umwandeln
- 21. Persistent Binary Tree/Hash-Tabelle in. NET
- 22. Gibt es eine Bayes'sche Filterbibliothek für .NET?
- 23. Gibt es eine Platzhaltererweiterung für .net-Anwendungen?
- 24. Gibt es eine .NET-Bindung für Neo4J?
- 25. Gibt es eine .NET-Entsprechung zu CoCreateInstanceEx?
- 26. Gibt es eine .NET FastCGI-Bibliothek?
- 27. Gibt es eine .NET-basierte CSS-Abstraktionsbibliothek?
- 28. Gibt es eine Transliterationsbibliothek für .NET?
- 29. Gibt es .NET ESBs?
- 30. Stackoverflow in .NET 4
Dies bietet die gleiche Suchsemantik, aber die zugrunde liegende Struktur ist immer noch eine einfache alte Liste, keine BST. –
Guter Anruf, dachte nicht durch, als ich das gepostet habe (nur 1 Tasse Kaffee zu der Zeit). Ich benutze die Liste mit dem BinarySearch und ergänze den Index, um die BST-Suchsemantik zu erhalten. Ich sollte es genauer lesen :) – pstrjds