Dies ist keine Hausaufgaben Ich nehme eine Datenstruktur-Klasse und wir haben vor kurzem Bäume abgeschlossen. Am Ende des Kurses zeigte mein Professor dieses Bild. Warum dauert das Einfügen sequenzieller Elemente in einem Baum mehr Zeit als das Einfügen zufälliger Elemente in einen Baum?
ConcreteBTree ist ein binärer Baum, der nicht selbst ausbalanciert. Ich habe ein paar Fragen zu den Zeiten, die ich brauchte, um diese Verfahren abzuschließen.
Warum dauert das Einfügen von 100.000 sequenziellen Elementen in ConcreteBTree so viel länger als das Einfügen zufälliger Elemente? Meine Intuition wäre, dass Elemente, die sequenziell sind, weniger Zeit brauchen, als 1.000.000 zufällige Elemente einzufügen.
Warum sind die Zeiten von insert() und find() von ConcreteBTree mit zufälligen Elementen so nahe beieinander? Liegt es daran, dass beide die gleiche Zeit Komplexität haben? Ich dachte, Einsatz war O (1) und finden war O (n)
ich wirklich verstehen möchte, was hier los ist, wäre eine Erklärung sehr geschätzt. Danke
Das Einfügen sequentieller Elemente in einen nicht balancierenden Baum ist nur das Schlimmste, was Sie tun können. Sie werden im Endeffekt eine verknüpfte Liste erstellen, da Sie immer entweder nur den linken oder nur den rechten Knoten verwenden. – dlev