Ich habe diese Methode geschrieben, um ein sortiertes Array, das ich habe, zu einem ausgewogenen binären Suchbaum zu konvertieren. Ich bin nicht sicher, was die große O-Zeit-Komplexität dieser Methode sein sollte. Wäre es O (n)?Big Oh des Erstellens einer BST aus einem sortierten Array
Node ArrayToBST(Node arr[], int start, int end)
{
if (start > end)
return null;
int mid = (start + end)/2;
Node node =arr[mid];
node.left = ArrayToBST(arr, start, mid - 1);
node.right = ArrayToBST(arr, mid + 1, end);
return node;
}
Lassen Sie uns einige sokratische Methode versuchen. Was ist der Zweck von Big O? Wie in, was ist seine Definition? Es ist die Messung der Zeit, die ein Algorithmus mit einer gegebenen Eingabe benötigt. Normalerweise gemessen in Bezug auf diesen Eingang n. Recht? Wie oft berühren Sie alle Elemente in arr []? – R4F6