spamsink: (lenin)
[personal profile] spamsink

Мы, чай, не графья, поэтому пишем по-простому, vector<map<set<int>, int> >.
А в структуре, конечно, графья. Лучше так, чем наоборот.

Date: 2014-06-28 07:26 am (UTC)
From: [identity profile] fatoff.livejournal.com
Намек недопонят, может, шаблоны параметризуются как-то косноязычно? Что за map, который индексирует int значения по ключу set? Операция сравнения между set предусмотрена?

Date: 2014-06-28 07:38 am (UTC)
From: [identity profile] fatoff.livejournal.com
На Скале, вестимо.

Date: 2014-06-28 07:49 am (UTC)
From: [identity profile] fatoff.livejournal.com
There is 3 question marks on this page yet and all mine. What question do you imply? How it looks, should it be written in higher level language? I would probably try to compose something like that with database-related language, like Clipper which I have not used for years but still, can be used to reflect relations between sets of data, etc. One statement to definite the table, another to index it... combination of those.

Date: 2014-06-28 08:02 am (UTC)
From: [identity profile] fatoff.livejournal.com
Yes, with arrays and dictionaries, I guess. Most of higher level languages have those, though the code would be much less declarative and scary as hell. And those people try to prevent us from inserting index finger to our noses. :-p

Date: 2014-06-28 03:38 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Эх.

Боюсь, у нас тут не все так оптимистично.

Date: 2014-06-28 04:05 pm (UTC)
From: [identity profile] cema.livejournal.com
Язык инструмент (точнее ящик с инструментами, но неважно). У всякой профессии свой ящик. Слесарь супротив столяра, C++ супротив Scala супротив Clojure и т.д.

Date: 2014-06-28 04:04 pm (UTC)
From: [identity profile] fatoff.livejournal.com
А что, при помощи generics это разве сложно в Java решается?

Date: 2014-06-29 04:20 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Если я сознаюсь, что и в джаве, и в скале с дженериками тут каюк...

Date: 2014-06-28 04:03 pm (UTC)
From: [identity profile] cema.livejournal.com
на труъ языке высокого уровня

На труъ языке, может, и типы не обязательно явно указывать.

Date: 2014-06-28 04:53 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
на языке высокого уровня именно так и выглядит, но не устрашает.

Date: 2014-06-28 05:21 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
Ну и на "тру языке" не будет копирования сетов, а то здесь не понятно, остался ли от них толк.

Date: 2014-06-28 07:57 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
При вставке в map происходит копирование сета. В зависимости от того, как он был получен, оно может быть не нужное. Например, если у вас один сет, который вы модифицируете и временами вставляете, то все хорошо. А если для создания сета его уже пришлось скопировать перед модификацией, то второе копирование не нужно.
Плюс, если set сделан как persistent data structure (такие есть в clojure и Scala), то разные сеты разделяют не измененные части, так что нигде не требуется O(N) копирование.

Date: 2014-06-28 11:53 am (UTC)
From: [identity profile] dvv.livejournal.com
"Операция сравнения между set предусмотрена?" is an RTFM question.

Date: 2014-06-28 01:28 pm (UTC)
From: [identity profile] ygam.livejournal.com
Сосчитать ребра у графа - это не математика, а революция.

(© не помню, кто)

Date: 2014-06-28 04:05 pm (UTC)
From: [identity profile] cema.livejournal.com
Ну да. И чем нам будет памятен 2014 год?

Date: 2014-06-28 04:09 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Меня до сих пор интригует вот эта часть: map
[Error: Irreparable invalid markup ('<set<int>') in entry. Owner must fix manually. Raw contents below.]

Меня до сих пор интригует вот эта часть: map<set<int>, int>.

Тут весь код представлен? Поиск в сете, как таковой, не важен? Итерируем сет? А чего он тогда не list? Просто в векторе сверху ищем по индексам, которые значения в векторе? Это ж для Дийкстры.

Date: 2014-06-28 04:51 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
set -- это набор элементов без повторов. list без особой нужды использовать не надо.

Date: 2014-06-28 04:54 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Если поиск от set не нужен, то он много сложнее list без основания.

Date: 2014-06-28 04:56 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
для того, чтобы не было дубликатов, очевидно, нужно делать поиск перед вставкой.
list же вообще признак конца 70ых. the default container is vector.

Date: 2014-06-29 05:37 am (UTC)
From: [identity profile] fatoff.livejournal.com
Все читали относительно свежего Страустрапа. Но он не пытался отрицать полезность list для своих применений. В данном случае, точно, вместо set и list, и тем более, vector, скорее, лучше.

Date: 2014-06-29 05:38 am (UTC)
From: [identity profile] fatoff.livejournal.com
После зачёркнутого долго думал. Таки там надо похитрее конструкцию, если не только notionally.
Page generated Mar. 7th, 2026 07:50 pm
Powered by Dreamwidth Studios