Podle algoritmu. Bud pamet potrebuje nebo ne. Nevim, jestli se to nejak matematicky pocita, opet neresim :)
Jako, kdyz si napises program, ze vola sebe sama, tak si brzo vyplacas pamet a vykon cpu pri vetsim poctu prvku na dnesnich pc.
serad(a,b) {... serad(a,b); ... }
Bubble sort - tmp = a; a<b ? a=b b=tmp - to potrebuje 1 bunku v pameti pro tmp + pamet, kde ma ulozene cele pole, ktere chces seradit
Sito - rozdelujes prvky na vetsi nez x a mensi nez x. Tak je dobre mit pamet, kde mas cele pole + 2 x pamet, kam ukladas vetsi ci mensi. Pripadne staci 1x pamet, kdyz ukladas mensi na zacatek a vetsi na konec.
Netusim, jak by se tohle dalo pocitat obecne :)
Insert sort - Najde nejmensi hodnotu a vymeni ji z prvni polozkou. To mas jam bubble, s pameti. Tez mu staci mit nekde cele pole a 1-2 bunky navic.
Slevani (tusim je to upravene Merge sort) - najdes serazene skupiny a ty postupne slevas dohromady podle nejmensich prvku (viz minula zprava). Je samozrejme lepsi delat to pres pomocne pole, ale asi to jde napsat i usporne.