Da beim B-Baum immer kleiner gleich oder größer ausgeschlossen werden kann, ist die Zeit zum Suchen und Hinzufügen O(log₂(n+1))
Das heißt abhängig von der Anzahl der Knoten ja, aber nur logarithmisch.
Die Angabe ist nur theoretisch optimal (nämlich wenn links und rechts immer gleich viele Elemente vorhanden sind (ähnlich einem AVL-Baum)). Dann kann mit jedem Suchen immer 50 % des jeweiligen Teilbaums ausgeschlossen werden. Dadurch wir die Suche und auch das Einfügen logarithmisch und abhängig von der Anzahl der bereits vorhandenen Knoten.
[Mit der binären Suche im Array verhält es sich genau so. Da muss das Array allerdings sortiert vorliegen, was beim Baum immer der Fall ist.]
Wenn wir jetzt einen Baum erstellen, zu dem wir nach und nach Elemente in bereits geordneter Reihenfolge einfügen, dann wird emtweder der linke oder der rechte aber nie beide Teilbäume erweitert. Das bedeutet dann bei der Suche, dass nicht mehr ein Teilbaum ausgeschlossen werden kann, weshalb dann die Laufzeit linear wird, also O(n).
Gruß
Felix