Порридж В Ко-ливинге
И мы уже получаем свой лист
Порридж В Ко-ливинге
@vitkarpov Получается вы дали вредный совет, или мы не знаем как удалять за O(1) из листа (с map хранящей адресса)
Evgeniy
Ну смотри. Там написано константа, если ты удаляешь в конкретной позиции
Evgeniy
Complexity 1) Constant. 2) Linear in the distance between first and last.
Evgeniy
А линейная, если ты удаляешь диапазон
Evgeniy
Если я верно понял
Evgeniy
Там две функции
Порридж В Ко-ливинге
Я нашел ошибку
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Это я
Порридж В Ко-ливинге
Это все из-за static
Порридж В Ко-ливинге
Второй раз
Порридж В Ко-ливинге
Но теперь он просто выдает ошибку памяти
Порридж В Ко-ливинге
А у меня опять все чики бамбони...
Порридж В Ко-ливинге
https://ideone.com/01p7b4
Viktor
@vitkarpov Получается вы дали вредный совет, или мы не знаем как удалять за O(1) из листа (с map хранящей адресса)
«Вредные советы» Виктор Карпов 😂 В этом и смысл листа (двусвязного списка), что за O(1) можно удалить из любого места, НО: надо знать это место, а точнее — итератор. Поэтому их и надо хранить в мапе, чтобы можно было быстро удалять.
Viktor
Кстати, вопрос к знатокам. Я даже на стекоферфлоу оставил вопрос, но меня заминусовали 😄 https://stackoverflow.com/questions/61384495/what-is-a-good-example-of-utilizing-linked-list-in-uis
Viktor
Кто-нибудь может придумать хороший пример использования связных списков в UI?
Порридж В Ко-ливинге
Нашел erase
Порридж В Ко-ливинге
Ужас, плюсы не понять
Viktor
Типа вот где это влияет на performance. Я так и не могу придумать хороший пример.
Порридж В Ко-ливинге
То в одну функцию куча типов можно кидать, то по фенкции для типа каждого
Порридж В Ко-ливинге
Viktor
Это все из-за static
static вам скоро в кошмарах будет сниться
Viktor
В UI? Ну под капотом для связи элементов
Не. Чтобы можно было вот придумать пример и показать.
Порридж В Ко-ливинге
Или если есть куча куча элементов можно как сегодняшней задаче использовать map + list то можно быстрее их убирать
Порридж В Ко-ливинге
Viktor
Понятно что там для реализации кешей каких-нибудь для DOM в кишкам браузера, но это не то.
Порридж В Ко-ливинге
Надо еще баг сделать, чтобы задачи не убирались и оставались висеть
Порридж В Ко-ливинге
Реалестично будет
Порридж В Ко-ливинге
Стак оверфлоу в своем репертуаре
Порридж В Ко-ливинге
Странно что вас еще не отговорили заниматься преподавательством
Viktor
Странно что вас еще не отговорили заниматься преподавательством
В смысле, а что там не так? Люди мне честный ответ дали 🤣
Порридж В Ко-ливинге
В смысле, а что там не так? Люди мне честный ответ дали 🤣
Ну обычно они еще говорят что вам это не надо
Порридж В Ко-ливинге
И что надо вообще поменять вашу жизнь
Viktor
Меня просто просили несколько человек сделать видео про связные списки на канал makeweb. Я хочу придумать практический пример, чтобы интересно было. Как в предыдущем видео про деревья.
Порридж В Ко-ливинге
И огромный развернутый ответ, почему
Viktor
И что надо вообще поменять вашу жизнь
Ахаха. Токсичность наше все.
Порридж В Ко-ливинге
У меня мозг покипывает сейчас
Порридж В Ко-ливинге
Особо идей нет
Порридж В Ко-ливинге
Viktor
V
Судя по количеству сообщений сегодняшней задачи была непростой
Viktor
И в дебри С++ ушли.
V
хм, наверное, впервые у меня медиум задачка принимается с перовго раза
V
но, конечно, решение в лоб. на каждую операция я тупо заново перестраиваю стек последних вызовов ключей. как это можно сделтаь в О(1) — не представляю
Порридж В Ко-ливинге
Просто сделать список
Порридж В Ко-ливинге
И адоеса хранить в мапе <ключ, адрес>
Порридж В Ко-ливинге
Конда вызываешь - вырываешь из листа и вставляешь в конец
Порридж В Ко-ливинге
Список вымученный своими делами
Viktor
Это я и реализовывал
Это ли? Насколько я понял @vtambourine просто завёл список и сортировал его туда-сюда.
Порридж В Ко-ливинге
Это я вчера если что отправлял
Порридж В Ко-ливинге
У меня интернет рубанули
Порридж В Ко-ливинге
Блин, у меня телега лагает
Порридж В Ко-ливинге
...
Порридж В Ко-ливинге
У меня не обновляется диалог
Порридж В Ко-ливинге
Я не вижу сообщений @vtambourine
Viktor
но, конечно, решение в лоб. на каждую операция я тупо заново перестраиваю стек последних вызовов ключей. как это можно сделтаь в О(1) — не представляю
Любопытно, что прошло. Но если интересно за константу - тут как раз нужен связный список, у которого можно любую ноду за О(1) вырвать с середины и пристегнуть в начало. Только чтобы знать что вырывать указатели на них хранятся в мапе, чтобы можно было за О(1) по ключу достать «место в списке»
Порридж В Ко-ливинге
Вы отправили, и одно сообщение появилось
Viktor
Это я вчера если что отправлял
Да-да, поздравляю! Я отправил на этот мемчик с корги :-)
Порридж В Ко-ливинге
Порридж В Ко-ливинге
На телефоне утром видел
Порридж В Ко-ливинге
Нет
Порридж В Ко-ливинге
О! Получилось
Порридж В Ко-ливинге
Я про это написал, что реализовал
Порридж В Ко-ливинге
@vitkarpov знаете Anton Vinogradov?
Viktor
@vitkarpov знаете Anton Vinogradov?
ага, он со мной рядом сидел и все вот эти bem-on-react штуки делал
Viktor
@vitkarpov знаете Anton Vinogradov?
что там за история с ним у вас? 🙂
Порридж В Ко-ливинге
что там за история с ним у вас? 🙂
Да не, просто начал много сидеть в репозитории бэм-реакта