Re: Как пройти собеседование в Яндекс
От: StandAlone  
Дата: 04.05.12 14:15
Оценка:
Здравствуйте, MTD, Вы писали:

MTD> Далее рассказал про сложность std::set, что внутри скорее всего красно-черное дерево, что колизии в хеш-таблицах разрешаются методом цепочек и еще одним методом, но я про него забыл. Снова посмотрели разочарованно. Я сказал: ребята, сказали бы, что гонять будете по алгоритмам я бы повторил, а так институт я 11 лет назад закончил.


Rehashing. Забыть про это сложно, потому что у цепочек сложность выборки порядка O(n/m), а у рехашинга порядка 4\3(!) при филл-факторе 0.5.
Впечатляющая разница, как и в потреблении памяти. Правда, теоретическое обоснование результатов для рехашинга лично мне обосновать слабо, там нехилая математика и сплошной теорвер с формулой Бернулли.


MTD>
MTD>printf("%d", (int *)2 + 3);
MTD>


MTD>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3. Спросили про приоритет операций, сказал, что смутно помню — использую скобки и всех заставляю. Посмотрели разочарованно.


Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5), а вот что уже с uint сделает спецификатор d, сие мне неведомо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.