Itthon Fejlesztés Mi az idő bonyolultsága? - meghatározás a techopedia alapján

Mi az idő bonyolultsága? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent az idő komplexitása?

Az idő bonyolultsága egy fogalom a számítástechnikában, amely a kód vagy algoritmus készlete feldolgozásához vagy futtatásához szükséges idő mennyiségi meghatározásával foglalkozik, a bemeneti mennyiség függvényében.

Más szavakkal, az idő bonyolultsága alapvetően a hatékonyság, vagy az, hogy egy program funkció mennyi ideig vesz igénybe egy adott bemenet feldolgozását.

A Techopedia magyarázza az idő komplexitását

Az idő bonyolultsága egyszerűen annak az időnek a mértéke, amelyre egy függvény vagy kifejezés elvégzi a feladatát, valamint az idő mérésére szolgáló folyamat neve. Szinte bármilyen algoritmusra vagy függvényre alkalmazható, de hasznosabb a rekurzív függvényeknél. Nincs értelme mérni az alkalmazások időbonyolítását, például a felhasználónév és a jelszó beolvasása az adatbázisból összehasonlítás céljából, vagy egyszerűen csak az adatok mentése, akár 20 ms, akár 5 ms; ez inkább a hozzáférési idő sorában lenne. Semmi köze nincs annak végrehajtási idejének gondozásához, inkább azzal, hogy a különbség elhanyagolható. Ha azonban van egy rekurzív funkció, amelyet többször is meg lehet hívni, az idő bonyolultságának forrásának meghatározása és megértése elősegítheti a teljes feldolgozási idő csökkentését, mondjuk, 600 ms-ról 100 ms-ra.

Az idő bonyolultságát jellemzően a "nagy O jelölés" fejezi ki, de vannak más jelölések is. Ez egy algoritmus skálázási tényezőjének felső határának matematikai ábrázolása, O (Nn) -vel írva, ahol "N" a bemenetek száma és "n" a hurkoló kifejezések száma. Például van az 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; } }

Öt bemenet van a "szám" tömbben, és a "foreach" hurkot kétszer megismételjük. Ezért a feldolgozási idő exponenciális növekedése akkor fordul elő, amikor a bemenetek száma és a hurkok száma növekszik.

Mi az idő bonyolultsága? - meghatározás a techopedia alapján