heap @ c++ stl
|
![]() Ветеран Сообщения: 1180 |
Что такое heap в C++ STL и как его можно эффективно использовать?
Когда он лучше, чем max_element() или sort()? |
|
Отправлено: 12:11, 14-03-2005 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать >> Что такое heap в C++ STL
Шаблон такой, емнип. >> как его можно эффективно использовать? ? %) Если любите с шаблонами работать, почему бы его и не использовать (хоть эффективно, хоть неэффективно)? |
Отправлено: 13:07, 14-03-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang98/HTML/sample_heap_(STL_Sample).asp
|
Отправлено: 13:08, 14-03-2005 | #3 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать я имею ввиду make_heap, sort_heap. Их примеры я видел, но так и не понял, почему сортировка или поиск максимального элемента хуже.
По поводу эффективного использования, например: для быстрой вставки/удаления в середине контейнера эффективней использовать список, чем вектор. В этом смысле. |
Отправлено: 13:15, 14-03-2005 | #4 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата:
|
||
Отправлено: 13:26, 14-03-2005 | #5 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать pva
>> Я стараюсь при прочих равных условиях повышать эффективность Дык это, хорошо. Считайте, что у меня такой неуклюжий юмор. >> но так и не понял, почему сортировка или поиск максимального элемента хуже. Почему хуже? Кто сказал, что хуже? Чем хуже? Вы же не объясняете... Остаётся догадываться... Любит человек шаблоны - пишет всё через heap. Ему говорят - так не эффективно, хочешь, пойдём с секундомером замеряем скорость работы- через heap и через qsort. А он говорит - зато у меня текст проги короче. И что? Кто прав? |
Отправлено: 18:30, 14-03-2005 | #6 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать 1. Текст проги получается длиннее (если речь о сортировке или макс.элементе)
// heap vector<int> v(10); // fill ... make_heap(v.begin(), v.end()); sort_heap(v.begin(), v.end()) // sort vector<int> v(10); // fill ... sort(v.begin(), v.end()); 3. Не думаю, что коммитет по стандартизации C++ "просто так" включил heap в библиотеку. Может он что-то делает очень быстро, но я не знаю что..., а значит не знаю, зачем он нужен. |
Отправлено: 12:33, 18-03-2005 | #7 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Нашёл описание на руском языке в ссылках на документацию. Это нужно для имитации priority queue на векторе. Понятно, что сортировка на heap хуже, чем специализированный алгоритм. Поэтому в примерах только pop_back демонстрируется.
|
Отправлено: 11:10, 06-04-2005 | #8 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать pva
Можно ссылку глянуть? А то я тут как раз написал очередь с приоритетами... А скорость у меня не просто критична, а апупеть как критична (нужно отрабатывать кучу udp-пакетов). |
Отправлено: 19:49, 06-04-2005 | #9 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать http://anatolix.naumen.ru/Books/cplusplus
Там много прикольных статей; советую: Exceptional C++, More Exceptional C++ (Решение сложных задач на C++) |
Отправлено: 11:35, 11-04-2005 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - STL Stack | delight | Программирование и базы данных | 1 | 10-12-2009 07:37 | |
C/C++ - STL | .::.DIMA.::. | Программирование и базы данных | 3 | 23-04-2009 08:07 | |
C/C++ - STL работа со стеком | alextrs | Программирование и базы данных | 2 | 28-04-2008 18:41 | |
STL и multimap | Crew | Программирование и базы данных | 5 | 28-11-2004 18:23 | |
C++Builder4 & C++stl | pva | Программирование и базы данных | 2 | 12-10-2004 07:32 |
|