Ich verstehe, dass Segmentbäume verwendet werden können, um die Summe der Unterarrays von . Und dass dies in Zeit gemäß dem Tutorial hier geschehen kann .
Ich kann jedoch nicht beweisen, dass die Abfragezeit tatsächlich . Dieser Link (und viele andere) besagen, dass wir beweisen können, dass auf jeder Ebene maximal Knoten verarbeitet werden und somit .
Aber wie beweisen wir das, vielleicht durch Widerspruch?
Und wenn ja, wenn wir Segmentbäume für eine entfernte Summe höherdimensionaler Arrays verwenden würden, wie würde der Beweis erweitert werden?
Ich kann mir zum Beispiel vorstellen, eine Submatrixsumme zu finden, indem ich die ursprüngliche Matrix in 4 Quadranten (ähnlich wie Halbierungsintervalle in linearen Arrays) aufteile, um einen Quadranten-Segmentbaum zu erstellen, aber der Beweis entgeht mir.