Domov Rozvoj Co je časová složitost? - definice z techopedie

Co je časová složitost? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená časová složitost?

Časová složitost je pojem v počítačové vědě, který se zabývá kvantifikací množství času potřebného souborem kódu nebo algoritmu ke zpracování nebo běhu jako funkce množství vstupu.

Jinými slovy, časová složitost je v podstatě účinnost, nebo jak dlouho trvá programová funkce zpracování daného vstupu.

Techopedia vysvětluje časovou složitost

Časová složitost je jednoduše měřítkem času, který funkce nebo výraz potřebuje k dokončení svého úkolu, jakož i názvem procesu měření tohoto času. Může být použit pro téměř jakýkoli algoritmus nebo funkci, ale je užitečnější pro rekurzivní funkce. Nemá smysl měřit složitost času pro aplikace, jako je načítání uživatelského jména a hesla z databáze pro porovnání nebo jednoduše ukládání dat, ať už je to 20 ms nebo 5 ms; to by bylo více v linii doby přístupu. Nemá to nic společného s péčí o dobu jeho provedení, ale spíše s tím, že rozdíl je zanedbatelný. Pokud však existuje rekurzivní funkce, kterou lze nazvat vícekrát, může určení a pochopení zdroje její časové složitosti pomoci zkrátit celkovou dobu zpracování, řekněme, 600 ms až 100 ms.

Časová složitost je obvykle vyjádřena ve „velké O notaci“, ale existují i ​​jiné notace. Toto je matematické znázornění horní meze škálovacího faktoru pro algoritmus a je zapsáno jako O (Nn), kde „N“ je počet vstupů a „n“ je počet cyklických výrazů. Máme například algoritmus:

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; } }

V poli „čísla“ je pět vstupů a smyčka „foreach“ se opakuje dvakrát. Proto exponenciální růst v době zpracování nastává s rostoucím počtem vstupů a počtem smyček.

Co je časová složitost? - definice z techopedie