Viktor
в принципе, можно написать, конечно, если интересно
Viktor
на сайте, кстати, можно по тегам фильтровать https://vitkarpov.me/tags/
Evgeniy
Union Find не так часто применяется, как я понимаю. Потому и подход к решению быстро забывается) И можно найти альтернативное решение.
Evgeniy
Когда-то смотрел его в курсе Серджвика. Надо бы освежить в памяти.
Evgeniy
@vitkarpov typo find отвечает на вопрос принадлежал ли два узла одному множеству
V
кажется, будто бы эту книжку уже прочитали все, кроме меня
Viktor
Когда-то смотрел его в курсе Серджвика. Надо бы освежить в памяти.
я именно оттуда его и узнал, который на курсере
Evgeniy
кажется, будто бы эту книжку уже прочитали все, кроме меня
Не все, я принимался читать, но далеко не уходил. Всё какие-то дела отвлекали.
Viktor
кажется, будто бы эту книжку уже прочитали все, кроме меня
она довольно сложная, поэтому читать надо «с ручкой и листиком» и не один раз. я, в итоге, не осилил полностью. надо возвращаться.
Evgeniy
я именно оттуда его и узнал, который на курсере
Да, он там хорошо рассказывает. И вообще, сам курс хороший.
Viktor
кажется, будто бы эту книжку уже прочитали все, кроме меня
Рекомендую прежде чем читать книгу глянуть плейлист на ютубе этого же автора. Как введение прежде чем прыгать в детали.
Порридж В Ко-ливинге
https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB
Viktor
Вы про Кабэнчика?
Да-да, именно. Спасибо, что форварднул ссылку на плейлист.
Viktor
Fabrico 👋 , кто молчит — тот бот 🙂
Порридж В Ко-ливинге
Порридж В Ко-ливинге
https://www-archive.mozilla.org/js/language/old-es4/core/variables
Порридж В Ко-ливинге
https://www-archive.mozilla.org/js/language/old-es4/core/variables
Так вот откуда ES5 и TS ворует идеи 🤣 В 2003 году уже все за всех придумали
Viktor
Так вот откуда ES5 и TS ворует идеи 🤣 В 2003 году уже все за всех придумали
Конечно. Но тогда мир был ещё не готов услышать это 😃
Порридж В Ко-ливинге
ES4 added heaps of stuff like classes, packages, interfaces, types etc. It was big. Crockford from Yahoo! wanted a simpler smaller language, and was against it. Microsoft didn't really know what they wanted. They were more interested in pushing Windows oriented technology instead of the web. They were against it.
Порридж В Ко-ливинге
https://youtu.be/i2oy0WvFvLA?t=2790
Порридж В Ко-ливинге
https://youtu.be/i2oy0WvFvLA?t=2790
There is great podcast where Brendan Eich talks about the history of Javascript:  Around 46:30 he talks about the whole ES4 debacle for about 10-15 minutes
Порридж В Ко-ливинге
Вся суть JS 🤣
Null
Порридж В Ко-ливинге
Чо за queues? Deque?
Порридж В Ко-ливинге
И Queue
А это що? Чем от array отличается? 🤣
Viktor
А это що? Чем от array отличается? 🤣
тогда голосуй за этот пункт, точно интересно будет :-)
Viktor
лично я бы тоже хотел разобрать задачку на очереди, потому что ещё не было, кажется. по крайней мере на дпшечку уже много было.
Порридж В Ко-ливинге
Очередные Российские выьоры... 105%. Вы модете уехать из России, но Россия не уедет из вас 🤣
Порридж В Ко-ливинге
Очередь же
Это типо в начало добавлять, а с конца сдирать?
Порридж В Ко-ливинге
Вроде эта штука нужна только для прода, т.к. что очередь, что массив с указателем это O(N)
Evgeniy
Как в очереди за хлебом)
Viktor
Вроде эта штука нужна только для прода, т.к. что очередь, что массив с указателем это O(N)
очень странное предложение. по отдельности слова понятны, а вместе в предложение не клеятся что-то.
Порридж В Ко-ливинге
А как же bfs?
O(N / 2) == O(N)
Evgeniy
O(N / 2) == O(N)
Имею в виду, что очередь нужна, если итеративно его пишешь
Evgeniy
Для задач
Порридж В Ко-ливинге
Имею в виду, что очередь нужна, если итеративно его пишешь
Можно массивом с Указателем. Та же сложность по итогу
Viktor
Вроде эта штука нужна только для прода, т.к. что очередь, что массив с указателем это O(N)
нужна чтобы за O(1) можно было удалять элементы с начала. с обычной коллекцией типа вектора так не получится, потому что надо индексы пересчитывать.
Viktor
Можно массивом с Указателем. Та же сложность по итогу
про память-то не забывай. лишние элементы с головы удалять не будешь?
Порридж В Ко-ливинге
про память-то не забывай. лишние элементы с головы удалять не будешь?
В два раза больше будет память по итогу же. Зачем удалять тогда. С удалением скорость будет медленее
Viktor
Может на литкоде и не упрёшься в ограничение по памяти если не удалять элементы, не знаю. Действительно зависит от размера задачи.
Roman
Но вектора то аллоцируют память factor*sizeof(T) для поддержания capacity, где factor чаще всего 1.5, 2
Roman
Но вектора то аллоцируют память factor*sizeof(T) для поддержания capacity, где factor чаще всего 1.5, 2
А очередь основана чаще всего на связанных списках, что не требуют преаллокаций
Viktor
Но вектора то аллоцируют память factor*sizeof(T) для поддержания capacity, где factor чаще всего 1.5, 2
Тоже хороший поинт, кстати. В какой-то момент дороже станут эти копирования чем если бы ты удалял лишние элементы с головы, поддерживая общий размер небольшим.
Порридж В Ко-ливинге
Viktor
А как тогда за O(1) элемент получить?)
лол. никто не смотрит мои видео, писал же про связный список специально 😄
Roman
А как тогда за O(1) элемент получить?)
Очередь это random access структура.
Viktor
потому что удалить элемент с головы — просто один указатель затереть
Roman
Очередь это random access структура.
Там нужно только начало и конец, иногда только конец
Viktor
А как тогда за O(1) элемент получить?)
я прочитал удалить 😄 получить никак. это и не требуется.
Evgeniy
Или да, просто ссылку на голову хранить
Viktor
собственно это и есть самое главное, что надо знать про структуры данных — всё есть трейд-офф
Viktor
выбирается та структура, которая имеет O(1) на ту операцию, которую ты собираешься в данной задаче нагружать
Порридж В Ко-ливинге
лол. никто не смотрит мои видео, писал же про связный список специально 😄
Я редко смотрю. Я же говорил что люблю сам ковыряться 🙃
Viktor
при этом жертвуем тяжёлыми операциями, но которые в данной задаче как раз и не нужны
Viktor
Я редко смотрю. Я же говорил что люблю сам ковыряться 🙃
если вдруг будет настроение, вот здесь пишем LRU cache и связный список с нуля под него — https://www.youtube.com/watch?v=5JjISpzM8uM&list=PLvWwA9iDlhHB1qp22la3mn01JuVOwyuqw&index=6
Viktor
но вообще вопрос твой был валидный, я не так прочитал
Viktor
про random access в смысле
Порридж В Ко-ливинге
да, это именно она
Тогда я это уже сам разоьрал и изобрел велосипед 🙃
Evgeniy
LFU интереснее)
Отлично, еще и хард
Evgeniy
https://leetcode.com/problems/lfu-cache/description/
Sergey Ufocoder
Вот было интересно ответить в статье на вопрос, чтобы убрать пробел, чем принципиально отличаются жадные алгоритмы от динамического программирования. У меня вроде есть свой ответ, но не уверен в нем. Да и другим было бы интересно узнать думаю
Konstantin
А что такое backtracking?