Satura rādītājs:
Definīcija - ko nozīmē laika sarežģītība?
Laika sarežģītība ir datorzinātnes jēdziens, kas attiecas uz laika daudzuma noteikšanu, ko koda vai algoritma kopa prasa, lai apstrādātu vai darbinātu kā ievades apjoma funkciju.
Citiem vārdiem sakot, laika sarežģītība būtībā ir efektivitāte vai tas, cik ilgs laiks programmas funkcijai nepieciešams, lai apstrādātu doto ievadi.
Techopedia izskaidro laika sarežģītību
Laika sarežģītība ir vienkārši tā laika mērs, kas nepieciešams funkcijai vai izteiksmei, lai izpildītu savu uzdevumu, kā arī procesa nosaukums, lai izmērītu šo laiku. To var izmantot gandrīz jebkuram algoritmam vai funkcijai, bet tas ir noderīgāk rekursīvām funkcijām. Nav jēgas izmērīt laika sarežģītību tādām lietojumprogrammām kā lietotājvārda un paroles iegūšana no datu bāzes salīdzināšanai vai vienkārši datu saglabāšana neatkarīgi no tā, vai tas ir 20 ms vai 5 ms; tas vairāk atbilstu piekļuves laika robežai. Tam nav nekā kopīga ar rūpēm par tā izpildes laiku, bet drīzāk tas, ka atšķirība ir niecīga. Tomēr, ja ir rekursīva funkcija, kuru var izsaukt vairākas reizes, tās laika sarežģītības avota noteikšana un izpratne var palīdzēt saīsināt kopējo apstrādes laiku no, piemēram, 600 ms līdz 100 ms.
Laika sarežģītība parasti tiek izteikta ar “lielo O apzīmējumu”, bet ir arī citi apzīmējumi. Tas ir algoritma mērogošanas koeficienta augšējās robežas matemātisks attēlojums, un to raksta kā O (Nn), kur “N” ir ieeju skaits un “n” ir cilpu izteiksmju skaits. Piemēram, mums ir algoritms:
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; } }
"Ciparu" masīvā ir piecas ieejas, un "foreach" cilpa tiek atkārtota divreiz. Tāpēc apstrādes laika eksponenciāls pieaugums notiek, pieaugot ieeju skaitam un cilpu skaitam.
