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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Что лучше использовать QMap или QHash?  (Прочитано 6624 раз)
Andrew Vladoff
Гость
« : Январь 31, 2013, 19:37 »

Есть некоторые данные в  виде структуры, которым соответствует свой уникальный идентификатор int. Данные заполняются при запуске программы и в процессе не изменяются. Что лучше в плане быстродейтвия использовать QMap или QHash для поиска данных по идентификатору? Объём данных около 200 записей.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Январь 31, 2013, 19:38 »

Есть некоторые данные в  виде структуры, которым соответствует свой уникальный идентификатор int. Данные заполняются при запуске программы и в процессе не изменяются. Что лучше в плане быстродейтвия использовать QMap или QHash для поиска данных по идентификатору? Объём данных около 200 записей.
QHash
Записан
Andrew Vladoff
Гость
« Ответ #2 : Январь 31, 2013, 20:00 »

QHash
Если не трудно, обоснуйте.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Январь 31, 2013, 20:04 »

Если не трудно, обоснуйте.
А вы замерьте на тестах. Улыбающийся
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Январь 31, 2013, 20:04 »

QHash
Если не трудно, обоснуйте.

Документация:

Цитировать
QMap and QHash provide very similar functionality. The differences are:

QHash provides faster lookups than QMap. (See Algorithmic Complexity for details.)
When iterating over a QHash, the items are arbitrarily ordered. With QMap, the items are always sorted by key.
The key type of a QHash must provide operator==() and a global qHash(Key) function. The key type of a QMap must provide operator<() specifying a total order.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Январь 31, 2013, 20:13 »

Есть некоторые данные в  виде структуры, которым соответствует свой уникальный идентификатор int. Данные заполняются при запуске программы и в процессе не изменяются. Что лучше в плане быстродейтвия использовать QMap или QHash для поиска данных по идентификатору? Объём данных около 200 записей.
На таком объеме данных выигрыш QHash по скорости ничтожен (если вообще есть). А вот возможность напр распечатать все данные в порядке сортировки может быть полезной. Поэтому QMap смотрится лучше
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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