Metoda jest liniowa, gdy czas jej trwania wzrasta liniowo wraz z liczbą zaangażowanych elementów.Na przykład, do pętli, która drukuje elementy tablicy jest w przybliżeniu liniowa:
for x in range(10):
print x
ponieważ jeśli drukować szereg (100) zamiast przedziału (10), czasu zajmie to prowadzony jest 10 razy dłużej. widać bardzo często, że napisany jako O (n), co oznacza, że czas lub obliczeniowa wysiłek, aby uruchomić algorytm jest proporcjonalna do N.
Teraz, powiedzmy, że chcemy wydrukować elementy z dwóch pętli:
for x in range(10):
for y in range(10):
print x, y
Za każde x, przechodzę 10 razy w pętlę y. Z tego powodu cała sprawa przechodzi przez 10x10 = 100 wydruków (możesz je zobaczyć po prostu uruchamiając kod). Jeśli zamiast używać 10, używam 100, teraz metoda zrobi 100x100 = 10000. Innymi słowy, metoda przyjmuje postać O (N * N) lub O (N²), ponieważ za każdym razem, gdy zwiększasz liczbę elementów, wysiłek obliczeniowy lub czas wzrastają jako kwadrat liczby punktów.
Podaję kredyty na tę odpowiedź tylko dlatego, że prosiłem o łatwy sposób wyjaśnienia tego. Ale zdecydowanie wszystkie odpowiedzi są naprawdę miłe i wyczerpujące. –
Należy rozważyć zmianę przykładu na: "dla x w zakresie (n)" tak jak dla x w zakresie (10) jest stały czas, a nie liniowy. – pepper