GOOGLE ADS

Samstag, 23. April 2022

zeitliche Komplexität der Methode

Ich möchte etwas über Big-O lernen, ich hoffe, jemand kann mir helfen, Operatoren in Method zu zählen und mir sagen, wie die Zeitkomplexität dieser Methode ist, und mir beibringen, wie man zählt. Ich habe versucht, auf Youtube zu lernen, und war etwas verwirrt.

static void SelectionSort(int[] data)
{
int temp, min;
for (int i = 0; i < data.Length - 1; i++)
{
min = i;
for (int j = 0; j < data.Length; j++)
{
if (data[j] < data[min])
{
min = j;
}
temp = data[min];
data[min] = data[i];
data[i] = temp;
}
}
}


Lösung des Problems

Die Zeitkomplexität ist für dieses Beispiel O(n^2). Der Grund ist, dass Sie eine Schleife in einer anderen Schleife verschachtelt haben.

Die äußere Schleife iteriert n-mal und gibt der inneren Schleife ein Element, die wiederum n-mal eine Schleife durchläuft, pro Schleife des äußeren Arrays.

https://adrianmejia.com/most-popular-algorithms-time-complexity-every-programmer-should-know-free-online-tutorial-course/#Bubble-sort

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...