Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Poďme to rozobrať:
* Vesmírna zložitosť: To sa týka množstva pamäte, ktorú musí algoritmus spustiť. Často sa vyjadruje pomocou veľkej notácie, ktorá opisuje rýchlosť rastu využitia priestoru s rastúcou veľkosťou vstupu.
* Extra priestor: To sa týka priestoru použitého * nad rámec priestoru, ktorý sa uskutočnil samotným vstupom. Napríklad, ak triedíte pole veľkosti `n`, samotné pole má priestor„ N`. Extra miesto by bola akákoľvek ďalšia pamäť používaná pre dočasné premenné, pomocné polia, rekurzívne stohy hovorov atď., Ktoré nie sú * súčasťou pôvodného vstupu.
* o (1):Konštantný čas: O (1) znamená zložitosť konštantného času. V prípade priestoru to znamená, že algoritmus využíva pevné množstvo priestoru bez ohľadu na veľkosť vstupu. Táto pevná suma sa nemení, aj keď spracujete milión položiek alebo miliardy položiek.
Príklady:
* Algoritmy na mieste: Mnoho algoritmov, ktoré pracujú priamo na vstupnom poli bez vytvorenia významných pomocných dátových štruktúr, má konštantnú zložitosť extra priestoru. Napríklad niektoré triediace algoritmy, ako sú triedenie bubliny alebo zoradenie výberu (pri starostlivom implementácii), používajú iba niekoľko ďalších premenných na dočasné porovnania a swapy bez ohľadu na veľkosť vstupného poľa.
* iteratívne algoritmy s pevným počtom premenných: Algoritmus, ktorý na spracovanie vstupu používa pevný počet premenných (napr. Počítadlá, indexy slučky), bude mať vo všeobecnosti O (1) zložitosť extra priestoru.
Nevykazy:
* algoritmy s použitím pomocných polí: Ak algoritmus vytvorí nové pole, ktorého veľkosť je úmerná veľkosti vstupu (napr. Vytvorenie kópie vstupného poľa), nemá konštantný priestor navyše. Zložitosť priestoru by bola O (n).
* Rekurzívne algoritmy s hlbokou rekurziou: Rekurzívne algoritmy môžu konzumovať významný priestor v zásobníku hovorov, ak je hĺbka rekurzie úmerná veľkosti vstupu. Takéto algoritmy vo všeobecnosti nemajú neustály priestor navyše.
* Algoritmy používajúce hashové tabuľky: Aj keď sú tabuľky hash často veľmi efektívne, ich využitie priestoru závisí od počtu položiek, ktoré ukladajú, čo znamená, že zvyčajne nemajú O (1) priestor navyše, pokiaľ veľkosť tabuľky hash nie je ohraničená konštantou.
Stručne povedané: Konštantný priestor navyše znamená, že využitie pamäti vášho algoritmu zostáva rovnaké bez ohľadu na to, aký veľký problém sa dostáva. Je to žiaduca vlastnosť, pretože udržiava predvídateľné využitie pamäte a zabraňuje problémom s pretečením pamäte, najmä pri riešení veľkých súborov údajov.