An adaptive digital tree data structure incorporates a rich pointer object,
the rich pointer including both conventional address redirection
information used to traverse the structure and supplementary information
used to optimize tree traversal, skip levels, detect errors, and store
state information. The structure of the pointer is flexible so that,
instead of storing pointer information, data may be stored in the
structure of the pointer itself and thereby referenced without requiring
further redirection. The digital tree data structure is self-modifying
based on a digital tree (or "trie") data structure which is stored in the
memory, can be treated as a dynamic array, and is accessed through a root
pointer. For an empty tree, this root pointer is null, otherwise it points
to the first of a hierarchy of branch nodes of the digital tree.
Low-fanout branches are avoided or replaced with alternative structures
that are less wasteful of memory while retaining most or all of the
performance advantages of a conventional digital tree structure, including
index insertion, search, access and deletion performance. This improvement
reduces or eliminates memory otherwise wasted on null pointers prevalent
in sparsely populated and/or unbalanced, wide/shallow digital trees.
Additional processing time required to effectuate and accommodate the
branch modification is minimal, particularly in comparison to processing
advantages inherent in reducing the size of the structure so that data
fetching from memory is more efficient, capturing more data and fewer null
pointers.
Eine anpassungsfähige digitale Baumdatenstruktur enthält einen reichen Zeigergegenstand, den reichen Zeiger einschließlich die herkömmlichen Adresse Umlenkung Informationen, die verwendet werden, um die Struktur zu überqueren und die Ergänzungsinformationen, die verwendet werden, um Baum, die Zeilensprungniveaus zu optimieren den traversal, Störungen und Speicherzustandinformationen zu ermitteln. Die Struktur des Zeigers ist flexibel, damit, anstatt, Zeigerinformationen zu speichern können, Daten in der Struktur des Zeigers selbst gespeichert werden und dadurch bezogen werden, ohne weitere Umlenkung zu erfordern. Die digitale Baumdatenstruktur Selbst-ändert gründete auf einer digitalen Datenstruktur des Baums (oder "trie"), die im Speicher gespeichert wird, als dynamische Reihe behandelt werden kann und durch einen Wurzelzeiger erreicht wird. Für einen leeren Baum ist dieser Wurzelzeiger ungültig, andernfalls zeigt er auf den ersten einer Hierarchie der Niederlassung Nullpunkte des digitalen Baums. Niedrig-Low-fanoutniederlassungen werden mit alternativen Strukturen vermieden oder ersetzt, die vom Gedächtnis beim Behalten die meisten oder alle Leistung Vorteile einer herkömmlichen digitalen Baumstruktur, einschließlich Indexeinfügung-, Such-, Zugangs- und Auslassungsleistung weniger kostspielig sind. Diese Verbesserung verringert oder beseitigt das Gedächtnis, das anders auf den ungültigen Zeigern vergeudet wird, die spärlich in bevölkert und/oder in aus dem Gleichgewicht gebracht, wide/shallow digitale Bäume überwiegend sind. Die zusätzliche Bearbeitungszeit, die erfordert wird, um die Niederlassung Änderung zu bewirken und unterzubringen, ist, besonders im Vergleich zu den verarbeitenvorteilen minimal, die wenn sie die Größe der Struktur zugehörig sind, verringert, damit die Daten, die vom Gedächtnis holen, leistungsfähiger sind und mehr Daten und wenige ungültige Zeiger gefangennimmt.