Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Алгоритм расстановки приоритетов |
Автор: posmotret 8.8.2011, 11:11 |
Здравствуйте! Задача такая: есть n-эллементов...пользователь должен поставить приоритет каждому эллементу...что бы не нагружать его (пользователя) планирую выводить на экран вопрос: "какой из 2х элементов важнее ?" на основе этих вопросов определить приоритеты... Пример: 1й эллемент: ВАЗ (приоритет 0,1) 2й эллемент: Мерседес (приоритет 0,3) 3й эллемент: БМВ (приоритет 0,2) Спрашиваем у пользователя: что важнее ВАЗ или Мерседес ? он отвечает: Мереседес: 1й эллемент: Мерседес 2й эллемент: ВАЗ 3й эллемент: БМВ Второй вопрос что важнее ВАЗ или БМВ ? ответ БМВ: 1й эллемент: Мерседес 2й эллемент: БМВ 3й эллемент: ВАЗ пока в голову пришло только сравнивать каждый с каждым...есть ли способ более оптимальный ? оптимальный в том плане что бы пользователю как можно меньше нужно было отвечать, уже для 5ти эллементов количество вопросов будет около 10 (если я правильно посчитал). Спасибо. |
Автор: maxim1000 8.8.2011, 11:37 |
можно вызвать std::sort, а в предикате спрашивать пользователя ![]() вот только я бы не советовал делать такой пользовательский интерфейс пользователи гораздо лучше себя чувствуют, когда они управляют программой, а не программа ними поэтому, ИМХО, банальный список с возможностью перетаскивания будет более удобен |
Автор: Silent 8.8.2011, 11:44 |
Третий том Кнута вам в помощь ![]() Есть такая вещь как сортировка, и оценка количеств сравнений элементов - смотрите теорию, выбирайте понравившийся алгоритм |
Автор: posmotret 8.8.2011, 12:07 |
maxim1000, спасибо, наверное будет даже 2 интерфейса... А если я не на сях пишу...а на пхп не раскроете мне сам алгоритм ? |
Автор: nworm 8.8.2011, 12:43 | ||
asort |
Автор: posmotret 8.8.2011, 13:29 |
спасибо |
Автор: _Y_ 9.8.2011, 22:26 |
Возможность сортировки всего списка еще и тем хороша, что человек, даже в меру умный, интуитивно выбирает более-менее оптимальный алгоритм сортировки. ОФФ: Анекдот: - Как занять блондинку минут на сорок? - Возьми лист бумаги и напиши с обеих строн "переверни". |
Автор: _Y_ 12.8.2011, 17:32 |
Еще подумал - при сортировке предоставлением парных выборов пользователь будет постоянно зацикливаться |