|
Подскажите с алгоритмом (непересекающиеся отрезки)
| ☑ |
0
эцп
28.11.11
✎
19:50
|
Если кратко: нужно множество отрезков разбить на группы так, чтобы внутри группы они не пересекались.
Если длинно: есть таблица значений с колонками "ДопИнфо", "НачалоПериода", "КонецПериода". Нужно добавить в таблицу еще одну колонку "Группа" и заполнить её так, чтобы она содержала номер группы, к которой данный отрезок относится. Внутри группы отрезки не могут пересекаться.
Здесь: "НачалоПериода" и "КонецПериода" поля типа "Дата" (ЧастиДаты.Дата)
|
|
1
Птица
28.11.11
✎
19:52
|
а если внятно?
почему бы не отнести каждый отрезок к новой группе? одна группа - один отрезок
|
|
2
Жан Пердежон
28.11.11
✎
19:52
|
1 отрезок - 1 группа
|
|
3
эцп
28.11.11
✎
19:56
|
(1) Только чтобы уплотнить информацию (по вертикали) в печатной форме (диаграмма). ДопИнфо будет написана на самом отрезке
|
|
4
МихаилМ
28.11.11
✎
22:11
|
упорядочить по "НачалоПериода"
проверить отрезки на пересечение
есть пересечение - тек группа
нет - следующия
ну и если надо учет макс,мим интервала группы
вроде все просто.
|
|
5
НуВотКак
28.11.11
✎
22:13
|
Обсуждалось юзай поиск
|
|
6
Злопчинский
29.11.11
✎
03:16
|
я уже думал дежавю...
|
|
7
эцп
29.11.11
✎
11:41
|
(4) Так и сделал пока. Но есть пара "желательно":
1) по возможности отрезки с одинаковым "ДопИнфо" объединить в одну группу;
2) получить минимальное количество групп.
(5) Искал, не нашел. Может в той задаче ключевые слова были другими?
(6) Где видел-то?
|
|
8
МихаилМ
29.11.11
✎
12:22
|
(7)
так сверните после расчета групп.
|
|
9
эцп
29.11.11
✎
15:26
|
(8) Простите, что свернуть?
|
|
10
эцп
07.12.11
✎
10:46
|
{а вдруг прокатит}
|
|