Možno si už počul, že programovanie je ako matematika. Je to pravda, ale s jedným veľkým rozdielom. V matematike je každý správny spôsob, ako dospieť k výsledku, rovnako dobrý. Ale v programovaní to tak nie je.
Keď riešime nejaký problém, často existuje viacero spôsobov, ako ho vyriešiť. Ako ale zistíme, ktorý z nich je najlepší? A čo to vlastne znamená "byť najlepší"?
Jedným z najdôležitejších kritérií je rýchlosť. Predstav si, že čakáš na výsledok nejakého programu hodiny, keď by si ho mohol mať za pár sekúnd. To určite nechceš! Preto sa budeme rozprávať o tom, čomu hovoríme časová zložitosť algoritmov.
Kde sa stretneš s potrebou rýchlych programov? V podstate kdekoľvek:
Preto vznikla celá oblasť v programovaní, ktorá sa zaoberá časovou zložitosťou algoritmov. Ide v nej o to, aby sme vedeli odhadnúť, koľko údajov dokáže program spracovať v rozumnom čase.