@ru_python

Страница 978 из 9768
Andrei
13.06.2016
22:53:05
Всё.

Andrey
13.06.2016
22:53:06
Andrei
13.06.2016
22:53:11
У тебя n чисел

Значит O(n^2)

Google
Andrei
13.06.2016
22:53:28
Нихуя не логарифм.

Aldar
13.06.2016
22:53:30
инсерт константный

лол

Andrei
13.06.2016
22:53:45
В хештаблицу в худшем случае вставка за O(n)

Andrey
13.06.2016
22:53:47
инсерт константный
Тогда поиск будет за O(n)

Aldar
13.06.2016
22:53:50
просто хэш память жрёт

Andrei
13.06.2016
22:54:10
инсерт константный
Ага, конечно. Книжки по алгоритмам давно открывал?

Aldar
13.06.2016
22:54:27
откуда линейная сложность?

Andrei
13.06.2016
22:54:31
Да ёб, вы что троллите?

Aldar
13.06.2016
22:54:36
считаем хэш, индекс у массива

и вставляем

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

откуда тут линейной сложности появится?

Google
Andrey
13.06.2016
22:55:21
Ага, конечно. Книжки по алгоритмам давно открывал?
Вообще да, константная сложность.

Andrei
13.06.2016
22:55:26
-_____-

Aldar
13.06.2016
22:55:36
окей, расскажи мне когда будет линейная сложность?

Andrei
13.06.2016
22:55:37
Марш учить алгоритмы!

Aldar
13.06.2016
22:55:42
когда будет рехеш

тут у нас рехеширования не будет

потому что мы знаем количество элементов заранее

вообще вставка в хэш это амортизированная константа

Andrei
13.06.2016
22:56:19
ЛОЛ

Aldar
13.06.2016
22:56:28
амортизированная потому, что иногда рехеш случается

Andrei
13.06.2016
22:56:50
Чувак, ты разницу между средним и худшим понимаешь?

Aldar
13.06.2016
22:57:14
да, расскажи мне в худшем случае откуда в моём алгоритме линейная сложность?

при вставке

Andrey
13.06.2016
22:57:35
Чувак, ты разницу между средним и худшим понимаешь?
В твоём случае худший вариант - это вставка 1 элемента.

Andrei
13.06.2016
22:57:59
Да, и вставка одного элемента может занять в худшем случае O(n)

Aldar
13.06.2016
22:58:25
в квиксорте худший случай это когда массив уже отсортирован и мы пивот берём первый элемент

Andrei
13.06.2016
22:59:01
Худший случай: у всех элементов одинаковое значение хеш функции.

Andrey
13.06.2016
22:59:09
Да, и вставка одного элемента может занять в худшем случае O(n)
Ок. Алгоритм такой. У тебя есть хеш-функция, которая принимает значения 0..N. Тs выделяешь эту память за *контантное время*. Далее ты за константное время заполняешь хеш таблицу.

Andrei
13.06.2016
22:59:21
Ноуп.

Google
Andrei
13.06.2016
22:59:29
Это не алгоритм.

У меня нет хеш-функции.

Andrey
13.06.2016
22:59:43
Худший случай: у всех элементов одинаковое значение хеш функции.
Так не надо тупо заполнять. Заполняй умно: проверяй при добавлении в хеш таблицу, заполнена ли она или нет.

Andrei
13.06.2016
22:59:43
Я заранее не знаю, что за элементы.

Что значит тупо?

Еще раз.

Ты вообще знаешь что такое хеш-таблица?

Andrey
13.06.2016
23:00:38
Ты вообще знаешь что такое хеш-таблица?
Нет, блять, я дибил. Решил поспорить перед сном.

Andrei
13.06.2016
23:01:29
Видимо, да. Хеш-таблица это просто штука, в которую можно класть элементы и проверять есть ли там такой элемент( про удаление даже не говорим сейчас).

Andrey
13.06.2016
23:01:31
Я тебе привёл алгоритм. Найди там сложность O(n^2)/

Kolyann
13.06.2016
23:01:36
Вставляем в хеш без затрат времени ?

Andrei
13.06.2016
23:01:39
Какой алгоритм -__-

Andrey
13.06.2016
23:01:54
Вставляем в хеш без затрат времени ?
Этими затратами можно пренебречь.

Aldar
13.06.2016
23:02:00
Андрей, мне кажется ты не понимаешь что такое хэш таблица

Andrey
13.06.2016
23:02:09
Ок. Алгоритм такой. У тебя есть хеш-функция, которая принимает значения 0..N. Тs выделяешь эту память за *контантное время*. Далее ты за константное время заполняешь хеш таблицу.

Kolyann
13.06.2016
23:02:14
Этими затратами можно пренебречь.
Вот в том-то и прикол что нельзя

Andrey
13.06.2016
23:02:14
Так не надо тупо заполнять. Заполняй умно: проверяй при добавлении в хеш таблицу, заполнена ли она или нет.

Andrei
13.06.2016
23:02:28
У меня НЕТ хеш функции.

Ты неявно полагаешь, что я откуда-то возьму хеш-функцию.

универсальной хеш-функции нет!!!!!!

Google
Aldar
13.06.2016
23:02:51
хэш функция для натурального числа это id

Kolyann
13.06.2016
23:02:55
Либо надо написать самому хеш, в который ты можешь вставлять бесплатно

Aldar
13.06.2016
23:02:57
допустим

теперь у тебя есть хэш функция

поэтому в данном случае мы можем считать что достаточно хорошая хэш функция у нас есть

Andrey
13.06.2016
23:03:57
Ладно, я не вижу смысла здесь спорить. Сначала тебя не устраивает алгоритм, а после ты переключаешься на отсутствие хеш-функции. Хреново с тобой спорить.

Хотя я насчёт алгоритма только говорил.

Admin
ERROR: S client not available

Andrey
13.06.2016
23:04:36
А ты на меня по поводу хеш-функции наезжаешь.

Andrei
13.06.2016
23:04:37
Почитай кормена, я серьёзно.Посмотри почему википедия со мной согласна.

Потому что это важно.

Если бы всё было так просто как ты говоришь, std::set бы работал в плюсах за o(1)

Aldar
13.06.2016
23:05:07
я говорил про конкретный алгоритм, с конкретными данными с конкретной хэш функцией, а ты говоришь про общий случай абстрактной хэш функции

Andrei
13.06.2016
23:05:09
на всех операциях

Но он такне работает

Andrey
13.06.2016
23:05:23
Если бы всё было так просто как ты говоришь, std::set бы работал в плюсах за o(1)
Если у тебя бесконечная память, то будет работать за O(1)

Andrei
13.06.2016
23:05:36
Опять же нет.

Aldar
13.06.2016
23:05:50
Даже если хэш функция на все числа возвращает одно и тоже число - вставка в таблицу будет константа

Andrei
13.06.2016
23:05:59
Ноуп.

Aldar
13.06.2016
23:06:08
при условии что мы разрешает коллизии с помощью списка

Google
Andrey
13.06.2016
23:06:09
Опять же нет.
Оппа, ок. У меня бесконечная память. На что мне тратить О(n)?

Aldar
13.06.2016
23:06:14
то есть имеем массив списков

потому что есть другой метод разрешения коллизий

это когда ты просто кладёшь в следующую свободную ячейку

Andrei
13.06.2016
23:07:12
Чуваки. Я серьёзно. Вот вы мне не верите. окей. Я могу сейчас расписать по пунктам в чем вы не правы, но чисто для себя вы можете объяснить, почему википедия со мной согласна?

Aldar
13.06.2016
23:07:32
потому что в википедии общий случай

Andrei
13.06.2016
23:07:38
Почему любая книжка по алгоритмам скажет вам, что хештейбл в худшем случае даёт n

Aldar
13.06.2016
23:07:46
а мы говорили про конкретную задачу и конкретную хэш функцию

Andrei
13.06.2016
23:07:46
Что значит, общий случай?

Про какую конкретную задачу?

Aldar
13.06.2016
23:08:21
поиск пары одинаковых элементов в массиве

Andrei
13.06.2016
23:08:51
Хеш-функцию ты как строишь?

Хеш-функция ПО ОПРЕДЕЛЕНИЮ имеет ОГРАНИЧЕННОЕ число значений.

Aldar
13.06.2016
23:09:23
ещё раз, есть массив, там все элементы разные, кроме пары одинаковых

Andrei
13.06.2016
23:09:25
Дат.

Aldar
13.06.2016
23:09:45
ограниченное и счётное это разные вещи

Andrei
13.06.2016
23:09:57
функция id не является хеш-функцией.

Страница 978 из 9768