Read https://dou.ua/lenta/articles/what-you-should-know-about-algorithms/