2013-08-21 3 views
0

Существуют различные разновидности рубашки. Разновидности основаны на таких параметрах, как узор, размер, цвет и т. Д.Дизайн DS для объекта с несколькими рисунками

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

Show all types of shirt having colour “red”.

Show all types of shirt having size “small” and pattern “checks” etc. etc.

Итак, предполагая, что мы имеем различные сорта «K» и N рубашки, какие структуры данных мы можем спроектировать для хранения следующие данные, чтобы ответить на вышеуказанные запросы наиболее оптимальным образом?

Одно из очевидных решений, которые я решил хранить, «K» экземпляров данных, сгруппированных в соответствии с каждым разнообразием. Но это будет очень экономично.

Что мы можем сделать, имея в виду пространство/временные рамки?

ответ

1

Как насчет магазина K Указатели для каждого элемента, указывает следующий элемент с тем же K-м сорт.

Затем для каждого запроса выберите один сорт и перечислите все элементы с удовлетворенным разнообразием, проверьте, соответствуют ли они другим ограничениям и показывают его. Таким образом, возьмите O(NK) для каждого запроса и O(1) для добавления нового элемента, а пробел - O(NK).

ваш сценарий выглядит так же, как база данных, почему бы вам не проверить это.

+0

это почти что я думал. выше. – Spandan

Смежные вопросы