Dom Rozwój Czym jest złożoność czasu? - definicja z techopedii

Czym jest złożoność czasu? - definicja z techopedii

Spisu treści:

Anonim

Definicja - Co oznacza złożoność czasu?

Złożoność czasu jest pojęciem w informatyce, które zajmuje się kwantyfikacją ilości czasu potrzebnego zestawowi kodu lub algorytmu na przetworzenie lub uruchomienie w zależności od ilości danych wejściowych.

Innymi słowy, złożoność czasu jest zasadniczo wydajnością lub czasem, w jakim funkcja programu przetwarza dane wejściowe.

Techopedia wyjaśnia złożoność czasu

Złożoność czasu jest po prostu miarą czasu potrzebnego na wykonanie funkcji lub wyrażenia, a także nazwą procesu mierzenia tego czasu. Można go zastosować do prawie dowolnego algorytmu lub funkcji, ale jest bardziej przydatny w przypadku funkcji rekurencyjnych. Nie ma sensu mierzyć złożoności czasu w aplikacjach, takich jak pobieranie nazwy użytkownika i hasła z bazy danych w celu porównania lub po prostu zapisywanie danych bez względu na to, czy jest to 20 ms, czy 5 ms; byłoby to bardziej zgodne z czasem dostępu. Nie ma to nic wspólnego z dbałością o czas wykonania, ale raczej, że różnica jest znikoma. Jeśli jednak istnieje funkcja rekurencyjna, która może być wywoływana wiele razy, określenie i zrozumienie źródła jej złożoności czasowej może pomóc skrócić całkowity czas przetwarzania z, powiedzmy, 600 ms do 100 ms.

Złożoność czasowa jest zazwyczaj wyrażana w „dużej notacji O”, ale są też inne notacje. Jest to matematyczna reprezentacja górnej granicy współczynnika skalowania dla algorytmu i jest zapisana jako O (Nn), gdzie „N” oznacza liczbę danych wejściowych, a „n” oznacza liczbę wyrażeń zapętlonych. Na przykład mamy algorytm:

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } } numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } }

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{



foreach(number as number2) {

statements; } } numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } }

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {


statements; } }

W tablicy „liczb” znajduje się pięć danych wejściowych, a pętla „foreach” powtarza się dwukrotnie. Dlatego wykładniczy wzrost czasu przetwarzania występuje wraz ze wzrostem liczby wejść i liczby pętli.

Czym jest złożoność czasu? - definicja z techopedii