Russian Qt Forum
Ноябрь 23, 2024, 21:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Результирующая последовательность из су  (Прочитано 3752 раз)
Karl-Philipp
Гость
« : Декабрь 08, 2008, 00:33 »

Всем здравствуйте!

Есть несколько последовательностей неповторяющихся цифр:

а) 1, 2, 6
б) 3, 2
в) 3, 4, 5
г) 1, 3, 5, 4

задача: требуется создать алгоритм определения результирующей последовательности, в которой могли разместиться большинство из данных последовательностей. То есть, что бы порядок следования цифр в результирующей не нарушал порядка цифр составляющих (последовательностей).

Например, для приведеных последовательностей чисел результирующая последовательность может состоять из (а,б,в) вариантов и будет выглядеть так - (1 3 2 4 5 6).
 
Кроме этого, возможен еще один вариант результирующей последовательности, состоящий из вариантов

(а,б,г) - (1 3 2 5 4 6)

Поиск результирующей последовательности будет основываться на полном переборе всех данных.

Алгоритм представляю себе следующим образом:
1. Последовательность №1 будет взята за результирующую.
2. Проводится сравнение со последовательностью №2. Если порядок следования чисел не противоречит пос-ти №1 - разместить в результирующей числа из 2ой.
Если порядок следования чисел различный (как в (в) и (г)), создать еще одну результирующую последовательность.
3. Проверить следующий номер последовательности на соответствие с имеющимися результирующими после-ми (перейти к п1.)

Результирующая последовательность с максимальным количеством после-тей, которые в ней смогли разместиться будет представлять результат решения задачи.

Подскажите, пожалуйста, не будет ли такой алгоритм поиска (перебора) медленным, если число последовательностей может достигать сотен тысяч, а количество цифр в каждой последовательности может колебаться от 2ух до 30, при этом количество результирующих последовательностей может достигать 0%-30% от всех имеющихся последовательностей?
Может я велосипед изобретаю? Улыбающийся
« Последнее редактирование: Декабрь 08, 2008, 20:14 от terlan » Записан
Tonal
Гость
« Ответ #1 : Декабрь 08, 2008, 11:15 »

Схематично, вроде всё нормально, так что сделай реализацию и проверь. Улыбающийся
Тут довольно много деталей, которые можно по разному реализовать.

Хотя конечно странная задача. Состав и количество результирующих последовательностей очень сильно зависит от порядка появления последовательностей.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 20.