map vs hash_map
Входят ли они в состав STL?
Какая из структур работает быстрее при вставке, поиске, удалении?
Цитата:
Originally posted by michael_is_98
Вопрос, в чем отличие этих двух структур?
Входят ли они в состав STL?
Какая из структур работает быстрее при вставке, поиске, удалении?
Вопрос, в чем отличие этих двух структур?
Входят ли они в состав STL?
Какая из структур работает быстрее при вставке, поиске, удалении?
Начнем с того, что это не структуры, а классы.
Разница, как я уже и говорил в том, что в map используются сбаллансированные деревья, а в hash_map - хеш, как следует из названия.
Эти контейнеры входят в состав STL от SGI, в STLport, но при этом hash_map не описан стандартом, т.е. hash_map - это нестандартный контейнер.
Что же касается скорости работы, то здесь видимо все зависит от выбранной хеш-функции. В отличие от map, где реализуется более общий способ обеспечения быстрого поиска при разнородных данных, в hash_map можно подобрать хеш-функцию для конкретного рода информации.
Цитата:
Originally posted by Green
Начнем с того, что это не структуры, а классы.
Разница, как я уже и говорил в том, что в map используются сбаллансированные деревья, а в hash_map - хеш, как следует из названия.
Эти контейнеры входят в состав STL от SGI, в STLport, но при этом hash_map не описан стандартом, т.е. hash_map - это нестандартный контейнер.
Что же касается скорости работы, то здесь видимо все зависит от выбранной хеш-функции. В отличие от map, где реализуется более общий способ обеспечения быстрого поиска при разнородных данных, в hash_map можно подобрать хеш-функцию для конкретного рода информации.
Начнем с того, что это не структуры, а классы.
Разница, как я уже и говорил в том, что в map используются сбаллансированные деревья, а в hash_map - хеш, как следует из названия.
Эти контейнеры входят в состав STL от SGI, в STLport, но при этом hash_map не описан стандартом, т.е. hash_map - это нестандартный контейнер.
Что же касается скорости работы, то здесь видимо все зависит от выбранной хеш-функции. В отличие от map, где реализуется более общий способ обеспечения быстрого поиска при разнородных данных, в hash_map можно подобрать хеш-функцию для конкретного рода информации.
С помощью какого метода выбирается хэш-функция?
Например для типа char*.