Hey Leute, ich hab einfach ein enormes Problem aus gegebenen Programmcodes die O Notation zu bestimmen, hat einer einen Tipp woran ich erkenne welche Zeitkomplexität der gegebene Programmteil besitzt? ich wäre euch überaus dankbar.
Z.b
Laut Lösung wäre das O(n²) Irgendwo auch nachvollziehbar, aber mir fehlt halt das verständnis von alleine drauf zu kommen, wie komme ich denn auf sowas?
Würd mich echt freuen wenn mir jemand einen tipp gibt, ich hab echt keine ahnung wie ich eine allegemeine faustregel aufstellen kann. Ich mach das eher nach gefühl, aber da muss es doch was geben was bombensicher ist.
Z.b
Java:
O-Notation in
Abhängigkeit von der Eingabegröße n. Hinweis: Der Aufwand für die Initialisierung von
arr kann dabei vernachlässigt werden.
static int[][][] func(int n)
{
int[][][] arr = new int[n][n][n];
for(int i=1; i<3; i++)
{
for(int j=0; j<arr.length; j++)
{
for(int k=0; k<arr.length; k++)
{
arr[i][j][k] = n;
}
}
}
return arr;
}
Laut Lösung wäre das O(n²) Irgendwo auch nachvollziehbar, aber mir fehlt halt das verständnis von alleine drauf zu kommen, wie komme ich denn auf sowas?
Würd mich echt freuen wenn mir jemand einen tipp gibt, ich hab echt keine ahnung wie ich eine allegemeine faustregel aufstellen kann. Ich mach das eher nach gefühl, aber da muss es doch was geben was bombensicher ist.