169 похожих чатов

А какой юзкейс этого у тебя? Какая проблема решается? Мне

кажется тащить гуаву, ради одной коллекции, это жестко%)

8 ответов

19 просмотров

Вообще это для бэка надо. На вебсокетах. Есть пара, где сессия это ключ, значение это некоторое событие в котором участвуют другие пользователи. Когда в одну сессию прилетает пакет данных, я по сессии нахожу событие и что-то с ним делаю. Далее нужно всех юзеров оповестить об изменениях. То есть для каждого юзера найти сессию и отправить им пакет данных. А сессия - это ключ в таблице. Хочу снизить сложность алгоритма с O(n) до O(1)

Тоже думаю что гуаву тащить для этого так себе идея. Поэтому смотрю в сторону двунаправленного словаря. Вроде МАП можно нехитрым способом расширить

Хотяяя... есть другая идея. Передавать юзер айди в заголовке. А мапу структурировать как <UserId, ClassWithEventWithSessionWithParticipants>>

Din-R Islamov
Хотяяя... есть другая идея. Передавать юзер айди в...

Вощм временно сделал вот так fun Map<K, V>.getKey(value: V) : K? = entries.associate { it.value to it.key }[value] Хотя это один проход по списку, в любом случае O(n)

Din-R Islamov
Вощм временно сделал вот так fun Map<K, V>.getKey...

чисто из интереса, это те самые двусвязные списки где каждый элемент хранит ссылку на соседние? а то когда смотрел базовые курсы еще по питону, я думал что это нигде вообще не применить в прикладном программировании или это не то?

не не, это не то. Вот ты в мапе находишь значение по ключу, сложность O(1). То есть неважно насколько большая мапа, время выполнения операции от размера мапы не зависит. А вот если у тебя есть значение, и тебе нужно найти под каким ключом она лежит, то тебе надо перебором найти тот самый entry в мапе и вернуть его ключ. Тут скорость выполнения операции будет сильно зависеть от размера мапы. Поэтому под капотом таки хструктур как правило две мапы, они синхронизированы. там на каждое entry создается два экземпляра <K, V> и <V, K>. если очень поверхностно, на деле все сложнее

Din-R Islamov
не не, это не то. Вот ты в мапе находишь значение...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта