
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

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

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

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

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
Что значит, общий случай?
Про какую конкретную задачу?

Andrey
13.06.2016
23:08:16

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

Andrei
13.06.2016
23:08:51
Хеш-функцию ты как строишь?
Хеш-функция ПО ОПРЕДЕЛЕНИЮ имеет ОГРАНИЧЕННОЕ число значений.

Andrey
13.06.2016
23:09:22

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 не является хеш-функцией.