Здравствуйте, Дмитрий Наумов, Вы писали:
ДН>Здравствуйте, MaximE, Вы писали:
ME>>Почти согласен, но про O(n) поподробнее.
ДН> Может я криво выразился?... Человеку нужен доступ к элементу мапа по индексу, оно же operator[], как он его сделает? std::advance, ну или for(...) для особых извращенцев. Ну вот его то сложность и будет O(n), а с вектором имеем O(1)
А я, грешным делом, подумал, что O(n) — это map::insert
Re[10]: std::map - n-й элемент массива
От:
Аноним
Дата:
28.04.03 15:19
Оценка:
Здравствуйте, Михаил Можаев, Вы писали:
ММ>А так — map + vector в самый раз.
Здравствуйте, <Аноним>, Вы писали:
А>Именно map мне не нужен.
А>Но если бы в map был оператор (функция) А>позволяющая получить злемент массива по индексу А>это бы подходило мне идеально.
Идеально для какой цели?
А>Понимаете... контрол уже реализован через vector.
Не понимаю. map не нужен, vector чем не устраивает?
B>int n = ...;
B>std::map<int,std::string>::iterator it = mItems.begin();//it - неконстантный итератор
B>std::advance(it, n);
B>
B>Сложность — линейная. Вообще подобные операции плохо подходят для map — опиши подробнее, почему такая необходимость возникает.
Вообще, зная, что корневой элемент дерева — это серединный элемент множества, а размер множества хранится и известен, можно было бы за O(log N) добираться до любого элемента.
Но, поскольку дерево — это внутренняя реализация множества (и, следовательно, мапа), эти фокусы на высоком уровне не проходят.
(=^.^=) Neko ... << RSDN@Home 1.0 beta 6a >>
Перекуём баги на фичи!
Re[14]: std::map - n-й элемент массива
От:
Аноним
Дата:
29.04.03 07:22
Оценка:
Здравствуйте, MaximE, Вы писали:
ME>Не понимаю. map не нужен, vector чем не устраивает?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, MaximE, Вы писали:
ME>>Не понимаю. map не нужен, vector чем не устраивает?
А>Все. Реализовываю через vector структур... =)
А>Спасибо всем за участие.
Здравствуйте, Кодт, Вы писали:
К>Вообще, зная, что корневой элемент дерева — это серединный элемент множества, а размер множества хранится и известен, можно было бы за O(log N) добираться до любого элемента.
По-моему это не справедливо для красно-черных деревьев (которые используются наиболее часто) — у них корневой элемент совсем не обязательно серединный.
К>Но, поскольку дерево — это внутренняя реализация множества (и, следовательно, мапа), эти фокусы на высоком уровне не проходят.
Здравствуйте, Дмитрий Наумов, Вы писали:
А>Именно это я и хочу реализовать в разрабатываемом мною ComboBox-е . А>Я не использую ни MFC ни даже Win32. =)
ДН>А что же тогда?
— У меня жена родила!
— Мальчика?
— Нет.
— А кого???