Повышение квалификации: посоветуйте литературу
Добрый день. Умею говнокодить на C++, хочу развиваться и получать больше денег. Иду смотреть вакансии яндекса и вижу вопрос:
Какие из следующих стандартных контейнеров позволяют найти в них элемент (по его значению) за O(ln(n))?
std::vector
std::list
std::deque
std::set
std::multiset
std::hash_set
сортированный std::vector
сортированный std::list
сортированный std::deque
сортированный std::set
сортированный std::multiset
сортированный std::hash_set
Аргументируйте ответ, прокомментируйте правильность постановки вопроса
И понимаю, насколько я еще ничтожен. Что такое O(ln(n)) я еще понимаю, но какие алгоритмы используются в стандартной библиотеке - могу только догадываться. Хотя, возможно, вопрос на самом деле не сложный и я даже знаю как на него ответить, не углубляясь в детали реализации. Но всё равно хочется поднять свой уровень. В связи с этим посоветуйте литературу, чтобы углубить знания стандартной библиотеки C++ и вообще знания алгоритмов и с этими знаниями смочь устроиться в нормальное место.
Пожалуйста, не предлагайте перейти на другой язык, это слишком долго.
Ну и заодно пусть развернется дискуссия по поводу решения задач от яндекса:
- http://company.yandex.ru/job/vacancies/dev_cpp_islands.xml
- http://company.yandex.ru/job/vacancies/dev_index_market_ekb.xml
- http://company.yandex.ru/job/vacancies/developer_yadisk.xml
Перемещено mono из talks