Re: свести задачу к мат.модели?
От: omgOnoz  
Дата: 16.02.17 21:43
Оценка:
Здравствуйте, dunamo, Вы писали:

D>хотелось оптимизировать задачу математически.

D>например, сразу отбросить те элементы, которые не удовлетворяют заданному набору значений атрибутов (запросу).

Можно хранить список битовых массивов длиной "список людей".

* Список битовых масивов для языков: индекс элемента массива — индекс человека, значение элемента "1" если знает язык, "0" если не знает.
** Тоже самое для стран.

Затраты памяти на такую модель = люди * (языки + страны) битов
Операции выбора = побитовые "и" и "или" и др.

*** Хотим найти людей, которые посещаки одну из стран: побитовое "или" по **
Владеют заданым языком: побитове "и" по * и **
Хотим найти людей, которые посещали несколько стран: побитове "и" по **

ну и т.п.

Задача сводится к банальным операциям множествами.

ИМХО должно работать очень быстро.
Отредактировано 16.02.2017 22:00 omgOnoz . Предыдущая версия . Еще …
Отредактировано 16.02.2017 21:58 omgOnoz . Предыдущая версия .
Отредактировано 16.02.2017 21:57 omgOnoz . Предыдущая версия .
Отредактировано 16.02.2017 21:56 omgOnoz . Предыдущая версия .
Отредактировано 16.02.2017 21:55 omgOnoz . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.