Re[21]: Bing recruting event October 2013
От: AlexMld Россия  
Дата: 06.11.13 07:52
Оценка:
Здравствуйте, avpavlov, Вы писали:

A>Она условна, но точно не зависит от размера ключа


Ну как бы имеется ввиду, что размер ключа зависит от размера коллекции, а время вычисления хеша зависит от размера ключа.
Re[19]: Bing recruting event October 2013
От: Vzhyk  
Дата: 06.11.13 07:55
Оценка:
06.11.2013 10:22, avpavlov пишет:

> получается О(1). При этом, естественно, всегда стоит упомянуть, что это

> при наличии хорошей хэш-функции, а при плохой хэш-функции можем просесть
> вплоть до худшего случая — О(n).
Как говориться, главное как продать (тьфю подать). Итого O(1) или в
промежутке от O(1) до O(n) в зависимости от много.
Posted via RSDN NNTP Server 2.1 beta
Re[22]: Bing recruting event October 2013
От: avpavlov  
Дата: 06.11.13 08:27
Оценка:
A>>Она условна, но точно не зависит от размера ключа
AM>Ну как бы имеется ввиду, что размер ключа зависит от размера коллекции,

Ну, давай, покажи, как размер ключа зависит от размера коллекции, а то какой-то пустопорожний спор получается.
Re[20]: Bing recruting event October 2013
От: avpavlov  
Дата: 06.11.13 08:29
Оценка:
V>Как говориться, главное как продать (тьфю подать). Итого O(1) или в
V>промежутке от O(1) до O(n) в зависимости от много.

Во многих случаях ключи известны заранее, можно проверить хэш-фунцию. В остальных случаях можно собирать статистику, так что проблема внезапного перехода от О(1) к О(n) надумана
Re[23]: Bing recruting event October 2013
От: AlexMld Россия  
Дата: 06.11.13 08:40
Оценка:
Здравствуйте, avpavlov, Вы писали:

A>Ну, давай, покажи, как размер ключа зависит от размера коллекции, а то какой-то пустопорожний спор получается.


Количество коллизий зависит от размера коллекции и длины ключа. Соответственно для больших коллекций нужны более длинные ключи. Как ты будешь делать ресайзинг с ростом коллекции без изменения размера ключа?
Re[24]: Bing recruting event October 2013
От: AlexMld Россия  
Дата: 06.11.13 08:50
Оценка:
Здравствуйте, AlexMld, Вы писали:

AM>Количество коллизий зависит от размера коллекции и длины ключа. Соответственно для больших коллекций нужны более длинные ключи. Как ты будешь делать ресайзинг с ростом коллекции без изменения размера ключа?


Блин, не так выразился. Это я про размер значения хеш-функции, который тоже растет.

А с ключами — Ключи должны быть уникальными? Значит, чем больше коллекция, тем длиннее нужны ключи. Длина уникального ключа должна быть минимум log от размера коллекции.
Re[21]: Bing recruting event October 2013
От: Vzhyk  
Дата: 06.11.13 09:25
Оценка:
06.11.2013 11:29, avpavlov пишет:

> Во многих случаях ключи известны заранее, можно проверить хэш-фунцию.

Корректнее сказать, в тех случаях, где хеш-функции уже придуманы. А
много это или мало, зависит от области применения.

> В

> остальных случаях можно собирать статистику, так что проблема внезапного
> перехода от О(1) к О(n) надумана
Перешли в область верований?

З.Ы. Но, я уже понял, с хешами это новая дурь на собеседованиях (до
этого были i+++++++++i, затем виртуальные деструкторы с конструкторами,
теперь это).
Posted via RSDN NNTP Server 2.1 beta
Re[13]: Bing recruting event October 2013
От: kashtan  
Дата: 06.11.13 10:25
Оценка:
Я раньше не решал эту задачу. У меня спросили точную цифру, вывести совсем было не сложно — воспользовался отрицанием событий. Но довести до конкретного числа я уже в одиночку не смог

Здравствуйте, AlexMld, Вы писали:

AM>Здравствуйте, Vzhyk, Вы писали:


V>>Да, к чему это я привел, что если не знаете что это, фиг даже за

V>>несколько лет сами сделаете.
V>>Так и с задачей на дни рождения, если есть несколько дней поразмышлять
V>>над ней и это будет оплачено, то ее решить можно, но на собеседовании за
V>>15 мин, только вспомнить, если читал пару дней назад.
V>>Бред, что они этими тестами проверяют, что кандидат получил инсайдерскую
V>>инфу о вопросах на собеседовании или то, что случайно пару дней назад
V>>прочитал от нефиг делать.

AM>Хешмапы — самые быстрые структуры для поиска информации, поэтому все Гуглы/Бинги на них повернуты. Меня Гугл пытал с одной задачей, бинарный поиск их по скорости не устраивал, не успокоились, пока я на хешмап ее не переделал. Так что коллизии — это один из популярных вопросов. Не обязательно помнить точно, но вывести надо уметь.
Re[18]: Bing recruting event October 2013
От: kashtan  
Дата: 06.11.13 10:32
Оценка:
Здравствуйте, dilmah, Вы писали:

D>O(1) это условность. Я бы настороженно относился к индивидам которые бездумно делают выводы о быстроте из этого O(1).


+1. Нотацию O придумали математики, информатики украли у математиков, программисты у математиков. Я понимаю, что у бедных информатиков нету ничего круче Тьюринговой машины, но (блин) у программистов имеется профайлеры, и меня удивляют программисты, которые смело говорят про O, да еще и гордятся
Re[25]: Bing recruting event October 2013
От: avpavlov  
Дата: 06.11.13 10:39
Оценка:
Здравствуйте, AlexMld, Вы писали:

AM>Здравствуйте, AlexMld, Вы писали:


AM>>Количество коллизий зависит от размера коллекции и длины ключа. Соответственно для больших коллекций нужны более длинные ключи. Как ты будешь делать ресайзинг с ростом коллекции без изменения размера ключа?


AM>Блин, не так выразился. Это я про размер значения хеш-функции, который тоже растет.


Я, думаю, что ты опять не так выразился Значение хэш-функции — это номер цепочки/bucket'а
Никуда это значение не растёт, оно просто всегда равно одному из доступных номеров

Вот число доступных корзин может меняться, если хэш-таблица достаточно умная и подстраивается под размер коллекции для уменьшения числа коллизий. Но это зависит от имплементации и не имеет никакого отношения к обсуждению абстрактной хэш-тбалицы и её О-нотации.

AM>А с ключами — Ключи должны быть уникальными? Значит, чем больше коллекция, тем длиннее нужны ключи.




Длина ключа не зависит от размеров коллекции. Длина ключа вообше не имеет отношение к хэш таблицам. Бывают маленькие коллекции с большими ключами, бывают большие коллекции с маленькими ключами.

AM>Длина уникального ключа должна быть минимум log от размера коллекции.


Коллекция на 4 млрд 32х битных интов прекрасно мэппится на 4байтные ключи. Расскажи, где ты здесь видишь "минимум лог от размера коллекции"?
Re[19]: Bing recruting event October 2013
От: Vzhyk  
Дата: 06.11.13 10:40
Оценка:
06.11.2013 13:32, kashtan пишет:

> но (блин) у программистов имеется

> профайлеры, и меня удивляют программисты, которые смело говорят про O,
> да еще и гордятся
Это сейчас основной критерий отбора сильных программистов. И неважно,
что эта нотация означает, главное O(1) это круто O(n^n) это фуууууууу.
Posted via RSDN NNTP Server 2.1 beta
Re[26]: Bing recruting event October 2013
От: AlexMld Россия  
Дата: 06.11.13 11:05
Оценка:
Здравствуйте, avpavlov, Вы писали:

AM>>Блин, не так выразился. Это я про размер значения хеш-функции, который тоже растет.


A>Я, думаю, что ты опять не так выразился Значение хэш-функции — это номер цепочки/bucket'а

A>Никуда это значение не растёт, оно просто всегда равно одному из доступных номеров

Не значение растет, а его размер, т.е. диапазон. Значение хэш-функции — это типа индекса для массива. Чем больше массив, тем больший диапазон индексов тебе нужен. Скажем, байтом ты можешь адресовать 256 bucket'ов, а двумя байтами — 65536


A>Длина ключа не зависит от размеров коллекции. Длина ключа вообше не имеет отношение к хэш таблицам. Бывают маленькие коллекции с большими ключами, бывают большие коллекции с маленькими ключами.


Большие коллекции с маленькими _уникальными_ ключами? Это как?

AM>>Длина уникального ключа должна быть минимум log от размера коллекции.


A>Коллекция на 4 млрд 32х битных интов прекрасно мэппится на 4байтные ключи. Расскажи, где ты здесь видишь "минимум лог от размера коллекции"?


А ты тут log не видишь? 4*8 = 32 = log 4294967296
Re[12]: Bing recruting event October 2013
От: Vzhyk  
Дата: 06.11.13 19:03
Оценка:
05.11.2013 21:17, Vzhyk пишет:

> Да, к чему это я привел, что если не знаете что это, фиг даже за

> несколько лет сами сделаете.
Так что с этой задачкей по ТВ?
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.