Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

map, vector, list

284
25 февраля 2006 года
michael_is_98
587 / / 25.02.2005
Есть вопрос: структура map в STL реализует AVL-дерево или для AVL-дерева есть свой контейнер?

В чем состоит суть и отличие контейеров map,vector?
2.4K
25 февраля 2006 года
dinasok51
219 / / 12.11.2005
Цитата:
Originally posted by michael_is_98
В чем состоит суть и отличие контейеров map, vector?



map представляет собой множество пар ключ/значение, отсортированных по ключу. (словарь)

vector - это аналог привычного массива

284
26 февраля 2006 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by dinasok51
map представляет собой множество пар ключ/значение, отсортированных по ключу. (словарь)

vector - это аналог привычного массива


Если вдаваться в алгоритм контейнера map, то какой механизм используется для поиска - хэширование,AVL-дерево или что-либо другое?

Стоит ли делать свой механизм на основе хэширования, AVL-дерева. Или это уже есть в STL

2.4K
26 февраля 2006 года
dinasok51
219 / / 12.11.2005
Цитата:
Originally posted by michael_is_98
Если вдаваться в алгоритм контейнера map, то какой механизм используется для поиска - хэширование,AVL-дерево или что-либо другое?


Используется двоичный поиск
В PERL'e аналог std::map называется hash.

Цитата:
Originally posted by michael_is_98
Стоит ли делать свой механизм на основе хэширования, AVL-дерева. Или это уже есть в STL


А строить ли самому AVL? Нужно оценить что эффективнее: двоичный поиск в линейном массива или поиск в винарном дереве.
Количество шагов ведь одинаковое.

284
26 февраля 2006 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by dinasok51
Используется двоичный поиск
В PERL'e аналог std::map называется hash.

А строить ли самому AVL? Нужно оценить что эффективнее: двоичный поиск в линейном массива или поиск в винарном дереве.
Количество шагов ведь одинаковое.


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

Ссылка
http://www.rsdn.ru/article/alg/bintree.xml

3
27 февраля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
важно уточнить, что понимать под поиском в бинарном дереве - метод хэширования или AVL-дерево. Ведь это совсем разные подходы.

Ссылка
http://www.rsdn.ru/article/alg/bintree.xml


На сколько мне известно в стандарте не описана реализация класса map, поэтому говорить можно лишь о конкретных реализациях.
Опять же на сколько мне известно, в том STL, что поставляется с MSVS класс map реализован через сбаллансированные деревья (т.е. AVL), через хеш реализован другой класс - hash_map, которого, кстати, нет в стандарте :)

284
28 февраля 2006 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
На сколько мне известно в стандарте не описана реализация класса map, поэтому говорить можно лишь о конкретных реализациях.
Опять же на сколько мне известно, в том STL, что поставляется с MSVS класс map реализован через сбаллансированные деревья (т.е. AVL), через хеш реализован другой класс - hash_map, которого, кстати, нет в стандарте :)


Значит реализовывать свой класс AVL-деревьев не имеет смысла, если в STL который в MSVS это уже сделано.
STL в конкретных реализациях использует разные методы? Вроде ведь HP разрабатывает STL.

3
28 февраля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
STL в конкретных реализациях использует разные методы? Вроде ведь HP разрабатывает STL.


Есть множество реализаций STL.
К примеру, STLport.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог