Ein Fenwick Tree, auch bekannt als Binary Indexed Tree, ist eine Datenstruktur, die zur effizienten Verarbeitung von dynamischen Daten verwendet wird, insbesondere für die Berechnung von Prefix-Summen. Sie ermöglicht es, sowohl das Update eines einzelnen Elements als auch die Berechnung der Summe eines Bereichs in logarithmischer Zeit, also in , zu realisieren. Der Baum ist so aufgebaut, dass jeder Knoten die Summe einer Teilmenge von Elementen speichert, was eine schnelle Aktualisierung und Abfrage ermöglicht.
Die Struktur ist besonders nützlich in Szenarien, in denen häufige Aktualisierungen und Abfragen erforderlich sind, wie zum Beispiel in statistischen Berechnungen oder in der Spielprogrammierung. Die Speicherkapazität eines Fenwick Trees beträgt , wobei die Anzahl der Elemente im Array ist. Die Implementierung ist relativ einfach und erfordert nur grundlegende Kenntnisse über Bitoperationen und Arrays.
Starte dein personalisiertes Lernelebnis mit acemate. Melde dich kostenlos an und finde Zusammenfassungen und Altklausuren für deine Universität.