-Поиск по дневнику

Поиск сообщений в lj_ru_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 09.09.2006
Записей:
Комментариев:
Написано: 4


Оптимизация функции на С++ STL

Воскресенье, 25 Декабря 2016 г. 23:54 + в цитатник
Побывал на днях на собеседовании (С++) и дали там задание оптимизировать функцию типа такой.

Employee findEmployee(vector< Employee > data, string addr) {
for (auto it = data.begin(); it != data.end(); it++) {
if (it->m_addr == addr)
return it;
}
}


Что я перечислил:

  • изменение асимптотической сложности на O(log(n)) c map или на O(1) с unordered_map, если память позволяет, но оказалось, что алгоритм менять не предполагается;

  • передача входных и выходных параметров по ссылке;

  • замена it++ на ++it;

  • вынос конечного итератора в константу const auto itend = data.end() и сравнение итератора с ней.


Но от меня ждали чего-то еще. Я добавил пункт про возможность оптимизации сравнения строк путем сравнения типов данных более широких чем char, исходя из разрядности целевой платформы.
И все. Но от меня ждали чего-то еще. Напишите пожалуйста, если знаете или догадались что именно? Я в непонятках.

http://ru-programming.livejournal.com/1361776.html


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку