best C++ algorithms