Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jurtal от Сентябрь 11, 2012, 09:55



Название: Сортировка файлов.
Отправлено: jurtal от Сентябрь 11, 2012, 09:55
Всем привет!
Есть задача - 10 хранилищ файлов ограниченного и заданного размера. И допустим 100 файлов известного размера. Суммарный объем хранилищ равен суммарному объему файлов. Вопрос в том какой алгоритм можно применить для сортировки файлов по папкам?


Название: Re: Сортировка файлов.
Отправлено: Igors от Сентябрь 11, 2012, 11:02
Если в одном хранилище целое число файлов, то остаются "хвостики", поэтому суммарный объем хранилищ должен быть больше, а не равен. Также "сортировка" предполагает ключ/условие, напр по "по дате". Наверное Вы хотели сказать - как разместить файлы чтобы все они вписались в хранилища (что-то типа "задачи о ранце")

В общем - изложите более внятно

 


Название: Re: Сортировка файлов.
Отправлено: jurtal от Сентябрь 11, 2012, 11:04
Да - совершенно верно - размер хранилища чуть больше. И файлы надо просто туда поместить...


Название: Re: Сортировка файлов.
Отправлено: Igors от Сентябрь 11, 2012, 12:18
Тогда Ваш вопрос никакая не сортировка, и место ему в разделе "Алгоритмы", а не в "пользовательский интерфейс"  :) Ладно, будем надеяться модератор перенесет.

Более того, я так вижу Вы спрашиваете о вещи которая может и не имеет точного решения (см напр Вику "Задача об упаковке в контейнеры"). Если не подымать фундаментальную теорию, я предлагаю сделать так:

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

Это конечно "не оптимально", и в каких-то случаях мы получим отказ хотя решение существует. Зато это пишется ха полчаса и в 95% случаях будет нормально работать.


Название: Re: Сортировка файлов.
Отправлено: jurtal от Сентябрь 11, 2012, 13:07
Да - видимо с пользовательским интерфейсом погорячился. Ключевое слово про упаковку рюкзака помогло - спасибо, нашел где поискать как это решается - действительно очень быстро если не усложнять...


Название: Re: Сортировка файлов.
Отправлено: jurtal от Сентябрь 13, 2012, 14:24
Это конечно "не оптимально", и в каких-то случаях мы получим отказ хотя решение существует. Зато это пишется ха полчаса и в 95% случаях будет нормально работать.

Надо мне добавить возможность еще и "оптимального решения"... Допустим есть два контейнера размером 12 и 10 и помещаемые элементы размером 6,6,7 и 3. Хочу рассмотреть возможность простого перебора всех возможных варианов размещения. Как для такого простого примера составить возможные состояния?