Felesleges funkciók kiküszübölése
Ha az összefuttatás tételének alkalmazásakor tudjuk, hogy a sorozatoknak nincsenek azonos elemei, akkor az aktuális elemek összehasonlításakor elhagyható az elemek egyenlőségének vizsgálata.
Kivételes esetek kiküszöbölése a bonyolultság csökkentésében is hatékony eszköz lehet. A sorozat elemeinek feldolgozása során T1, T2,..,Tk tulajdonságok valamelyikével rendelkező elemekkel lehet az adott műveletet elvégezni. Ez minden elem esetében bonyolult feltételvizsgálatot tehet szükségessé. Az adatokat, esetleg az adatszerkezetet módosíthatjuk úgy, hogy ezekhez az elemekhez egy egységes T tulajdonságot rendelünk.
A programozási tételekben a megoldás algoritmusát olyan formában adjuk meg, hogy az, minden hasonló jellegű problémára megoldást jelentsen. Az algoritmusok hatékonyságának növelésére pontosan az ad lehetőséget, hogy figyelembe vesszük a probléma specialitásait. Ez jelentheti a programozási tétel olyan módosítását, hogy annak bizonyos funkcióval bíró része feleslegessé válik.
Funkciók szétválasztása
Határozzuk meg egy sorozat átmérőjét!
Ez a maximális és a minimális értékű elemek meghatározását teszi szükségessé. Ha egymás után alkalmazzuk a maximum és a minimum kiválasztás tételeit növeljük ugyan a szerkezeti bonyolultságot, de a kifejezés bonyolultsága csökken.
Ha egy iterációban egymástól logikailag nem független szerkezetek követik egymást, két egymást követő ciklussal célszerű megoldani a feladatot.
Fiktív kezdőérték
Határozzuk meg egy sorozat T-tulajdonságú elemei közül a legnagyobb értékét. A sorozat elemeiből elkülönített csak T-tulajdonságú elemeket tartalmazó részsorozaton alkalmazott maximum-kiválasztás jelenthet egy kevésbé hatékony megoldást.
Helyette válasszunk kezdőértékként olyan T-tulajdonságú értéket, amelynél biztosan nagyobb a sorozat valamennyi ilyen tulajdonságú eleme.
Fiktív kezdőérték adása mentesíti az algoritmust azoktól a funkcionális egységektől, amelyek a kezdőérték megadását végzik. Ez, az algoritmus bonyolultságának csökkenését eredményezi sok esetben.
Az adatszerkezet megfelelő megválasztása
Egy táblázatban a tárolt adatok soraiban lévő elemekkel valamely műveletet lehet elvégezni.A táblázat elemeit tárolhatjuk egy mátrixban, de egy olyan vektorban is, melynek egy eleme a táblázat egy sorában található elemeket tartalmazó vektor.
Adattípusok megfelelő megválasztása mind a hivatkozási, mind a szerkezeti bonyolultságot csökkentheti.
A rekurzió alkalmazása során a szükséges veremműveletek „automatikusan” megvalósulhatnak, ezek tehát nem növelik az algoritmus bonyolultságát.