20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
|
|
1 | |
Быстрый поиск по полям в коллекции26.01.2016, 14:00. Показов 1937. Ответов 8
Метки нет (Все метки)
Есть коллекция объектов класса с разными полями. Нужно организовать быстрый поиск первого элемента (может потом множества элементов) по заданным значениям полей. Вроде как в базе данных когда индексы проставляешь. Как можно такое реализовать?
В голову пришел набор нескольких unordered_map по соотв "индексам". Но там же не может быть несколько значений на один ключ? Тем более придется обновлять эти unordered_map, что мучительно. Добавлено через 21 час 46 минут ап!
0
|
26.01.2016, 14:00 | |
Ответы с готовыми решениями:
8
Быстрый поиск по коллекции Посоветуйте, как осуществлять быстрый поиск по полям класса? Быстрый перебор объектов в коллекции Подскажите быстрый метод поиска по коллекции с полем DateTime |
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
26.01.2016, 14:17 | 3 |
В multimap может.
Можно хранить коллекцию в мэпе с парами-значениями идентификатор-объект, а в мультимэпах пары ключ - идентификатор объекта.
1
|
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
|
|
26.01.2016, 15:30 [ТС] | 4 |
Хех, придется когда-нибудь все же разобраться с этим бустом)
0
|
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
|
|
07.02.2016, 02:57 [ТС] | 6 |
Kastaneda, а что по сложности поиска по индексу если он ordered и если он hashed? Чего-то они про вставку, удаление в доке пишут и тп, а про выбор по индексу нет. Еще можешь объяснить в как вообще их reference пользоваться? Вот хочу я допустим узнать как место зарезервировать, но списка методов нормального не вижу, в референс толком не найти ничего, только примеры читать или заголовочные файлы.
0
|
07.02.2016, 08:19 | 7 |
У boost'а с этим сложно, если бы они сделали свою справку открытой вики, то давно бы уже имели нормальную документацию.
незнаю, тут как-то инуитивно, например если индекс у тебя строка, то hashed понятно будет быстрее. Я думаю там дерево внутри, поэтому можно ожидать log(n). Но не уверен, чисто предположение.
0
|
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
|
|
07.02.2016, 22:39 [ТС] | 8 |
А какой индекс лучше всего подойдет в качестве интового primary key? Я вот думаю как максимально быстро по полученному элементу контейнера произвести его апдейт в контейнере.
0
|
08.02.2016, 14:21 | 9 |
Чисто интуитивное предположение - ordered нормально будет, хешировать его точно не надо.
0
|
08.02.2016, 14:21 | |
08.02.2016, 14:21 | |
Помогаю со студенческими работами здесь
9
Многоразовое обращение к полям объекта ключевой коллекции Как получить доступ к полям элемента в коллекции в цикле foreach Не получается при прохождении по коллекции через foreach получить доступ к этим полям Поиск по сайту: не могу разобраться, как делать поиск по нескольким полям Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |