Информация об изменениях

Сообщение Re[2]: Представление подмножеств от 07.06.2025 7:36

Изменено 07.06.2025 7:37 pva

Re[2]: Представление подмножеств
Здравствуйте, Chorkov, Вы писали:

pva>Операции: +,-,*,/,&,|,^

C>А как еще будут запросы? (Кроме операций со множествами?)
Ха, спасибо за вопрос! Действительно, я не учел разночтения. Это не операции над объектами "множество", а поэлементные операции.
C>(1) Проверка принадлежности числа множеству. (2) Число элементов множества. (3) число элементов, попадающих в диапазон. (4) перечислить все элементы. (5) проверить что множество не пусто ... ?
Здесь достаточно стандартного набора: add, remove, contains, iterate, size
Логические операции не нужны, кроме OR (merge).

C>Для диапазонов с шагом, каков период шага? (Порядка единиц / десятоко / ... / миллионов ?)

C>Каковы типичные размеры диапазонов? Бывают ли на всю числовую ось шириной?
Несколько дней опытов показали что диаппазоны, вероятно, можно выкинуть. Типовой размер множества — десяток-другой элементов, редко до тысячи.
Хотя, конечно, в некоторых случаях они были бы полезны. Но реализовать над ними базовую битовую арифметику будет долго и потребует, вероятно, реализации собственных итераторов (чтобы представить поэлементный AND, например) либо рассыпаться в стандартное поэлементное множество.

C>Как много операций происходит прежде чем будет сделан запрос?

Глубина дерева в среднем 5-7, то есть количество операций грубо 2^8.

Я извиняюсь за двусмысленность. Тема, похоже, свернула немного не туда. Прийдется глубже проработать пилот/архитектуру.
Re[2]: Представление подмножеств
Здравствуйте, Chorkov, Вы писали:

pva>Операции: +,-,*,/,&,|,^

C>А как еще будут запросы? (Кроме операций со множествами?)
Ха, спасибо за вопрос! Действительно, я не учел разночтения. Это не операции над объектами "множество", а поэлементные операции.
C>(1) Проверка принадлежности числа множеству. (2) Число элементов множества. (3) число элементов, попадающих в диапазон. (4) перечислить все элементы. (5) проверить что множество не пусто ... ?
Здесь достаточно стандартного набора: add, remove, contains, iterate, size
Логические операции не нужны, кроме OR (merge).

C>Для диапазонов с шагом, каков период шага? (Порядка единиц / десятоко / ... / миллионов ?)

C>Каковы типичные размеры диапазонов? Бывают ли на всю числовую ось шириной?
Опыты показали что диаппазоны, вероятно, можно выкинуть. Типовой размер множества — десяток-другой элементов, редко до тысячи.
Хотя, конечно, в некоторых случаях они были бы полезны. Но реализовать над ними базовую битовую арифметику будет долго и потребует, вероятно, реализации собственных итераторов (чтобы представить поэлементный AND, например) либо рассыпаться в стандартное поэлементное множество.

C>Как много операций происходит прежде чем будет сделан запрос?

Глубина дерева в среднем 5-7, то есть количество операций грубо 2^8.

Я извиняюсь за двусмысленность. Тема, похоже, свернула немного не туда. Прийдется глубже проработать пилот/архитектуру.