Кључни савет за побољшање сложености је то да рачунар ради само оно што је неопходно да би се добио коначан резултат. Када се та идеја мало детаљније разради, добијамо следећи низ савета који нас често доводе до алгоритама мање сложености:
Немој терати рачунар да врши дуготрајна израчунавања која се могу извршити и “пешке”, применом математике.
Немој терати рачунар да више пута израчунава једно те исто – упамти потребне резултате израчунавања у меморији, да их не би рачунао више пута.
Немој терати рачунар да израчунава ствари које нису потребне за добијање коначног решења проблема.
Немој терати рачунар да испитује случајеве за које унапред можеш закључити да не могу бити тражено решење проблема.
Ако је то могуће, припреми податке тако да се касније могу ефикасније обрадити.
Користи ефикасније структуре података.
…
У наставку овог поглавља приказаћемо низ задатака које ћемо решити различитим алгоритмима, анализираћемо њихову асимптотску сложеност најгорег случаја и приказаћемо како се на бази приказаних савета могу изградити значајно ефикаснији алгоритми.