Нужно знать базовые алгоритмы и быть осведомлённым о наличии разнообразных алгоритмов не только для того, чтобы пользоваться готовыми решениями, но и для того, чтобы понимать сильные и слабые стороны своих программ и учиться ускорять их работу. Также важно правильно выбирать структуры данных — это залог быстрой работы программы.