![]() |
B-Tree-Komponente gesucht
Kennt von euch jemand eine gute B-Tree-Komponente:
- Geeignet auch für große Datenmengen (5.000.000 Datensätze) - Wenn möglich auch Unicode-Enabled - Sourcen vorhanden |
Re: B-Tree-Komponente gesucht
Den
![]() |
Re: B-Tree-Komponente gesucht
Mike's TreeView ist kein B-Tree, sondern "nur" ein Tree-Komponente zur visualisierung.
Aber ich hab schon was gefunden, was schnell und halbwegs vernünftig Implementiert ist. |
Re: B-Tree-Komponente gesucht
Zitat:
Vielen Dank :wink: Peter |
Re: B-Tree-Komponente gesucht
Welchen sinn macht ein B-Tree als Komponente? :gruebel:
Wäre er dann nicht so allgemein gehalten, dass dir Boxing/Unboxing und TypCasting sämtliche Geschwindigkeitsvorteile kaputtmachen? |
Re: B-Tree-Komponente gesucht
Zitat:
![]() Zitat:
Zitat:
|
Re: B-Tree-Komponente gesucht
B-Tree ist eine irreführende Bezeichnung. B-Bäume sind etwas gaaanz anderes, als das was du gefunden hast. B <> binary!
B-Bäume sind Bäume die in Seiten organisiert sind, so dass ein Knoten nicht nur einen Wert, sonden ganze Listen von Werten enthalten, und sich die Kind-Knoten zwischen diese Werte gruppieren. Vorteil von B-Bäumen: Teilweise auf Langzeitdatenträger auslagerbar, und dadurch ein guter Kompromiss zwischen Speicheraufwand und Geschwindigkeit. Was du jetzt gefunden hast ist ein sog. AVL-Baum. Das ist ein binärer Baum, bei dem zusätzlich darauf geachtet wird, dass benachbarte Blätter eines Blattes maximal 1 Niveau höher/tiefer liegen. Tritt der Fall auf dass dieses Verhältnis kaputt geht, wird im schlimmsten Fall der gesamte Baum neu organisiert (Links-/Rechtsrotation). Vorteil hierbei: In einem ausgeglichenen AVL-Baum ist die Suchgeschwindigkeit immer O(n)=n*log2(n). Man hat halt nur beim Einfügen und Entfernen von Knoten mehr oder weniger Umorganisationsaufwand. Hätte ich jetzt einen Link zu einer B-Baum Komponente gepostet, hättest du mich wohl komisch angeschaut :D. (Hab aber keinen...) B-Bäume sind im Übrigen saumäßig ekelhat zu coden. Die größten Schwierigkeiten bereitet das Löschen von Werten, da man zum Teil iterativ und zum Teil rekursiv im schlimmsten Fall den gesamten Baum komplett neu organisieren muss. Das ist der Tradeoff für die Auslagerbarkeit :stupid:. Gruss, Fabian |
Re: B-Tree-Komponente gesucht
Zitat:
Ein anderer ganz wesentlicher Vorteil der B-Tree's ist deren Möglichkeit ge-packt/komprimiert zu werden. In B-Tree's ist es möglich das ganze Child-Baume mit identischer Struktur zusammengefasst werden können. Dies geht mit B-Tree's einfacher als mit den anderen Trees. Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz