Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
Всем привет. Подскажите, пожалуйста, как можно организовать работу с кучей Добавление элемента (O(log n))\ извлечение max элемента (верхушки кучи) (O(n)) ? В результате добавления происходит автобалансировка кучи ? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 10:23 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
Станислав Клевцов, чем не нравится встроенный тип dict? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 11:25 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
FishHookСтанислав Клевцов, чем не нравится встроенный тип dict? океу. За сколько O-большое можно добавить новый элемент в нужное место в dict ? (Думаю это O(n) 1 проход по всему dict + операция вставки О(1) или я не прав ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 14:37 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
FishHookСтанислав Клевцов, чем не нравится встроенный тип dict? Вот еще немного теории автор "Если реализовать такую структуру на базе списка, то добавлять элементы можно в конец списка за O(1). Но поиск наибольшего элемента будет занимать O(n), если n - число элементов в списке, так как придется просматривать все элементы списка и выбирать из них наибольший. Если же хранить элементы в списке упорядочив их по неубыванию, то извлечение наибольшего будет занимать O(1), но добавление элемента в список - O(n), так как придется сдвигать элементы, уже находящиеся в списке. Специальная структура данных «Куча» (англ. heap) позволяет эти операции выполнять за O(log n)." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 15:00 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
Станислав Клевцовможно добавить новый элемент в нужное место в dict ? dict - это хэш таблица, у неё нет позиции элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 19:24 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
FishHookСтанислав Клевцовможно добавить новый элемент в нужное место в dict ? dict - это хэш таблица, у неё нет позиции элемента. Сорри, тогда как искать максимальный элемент в "словаре"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 21:02 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
FishHookСтанислав Клевцовможно добавить новый элемент в нужное место в dict ? dict - это хэш таблица, у неё нет позиции элемента. "Меньше вопросов, больше дела" Сам разобрался с задачей и решил её с помощью кучи (где поиск макс\мин элемента за O(1),а также его удаление за O(1). Добавление новых элементов за O(log n) А что касается dict, то поиск за O(1), но тупняки на добавлении и удалении элемента O(n). Можно подвести итог. Для решения моей задчи dict не подходит, т.к. кушает много памяти на n-> 10^6 и не проходит по тестам системы. Всем спасибо. Тема закрыта ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 07:40 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
Станислав КлевцовСам разобрался с задачей и решил её с помощью кучи И где ты в питоне взял кучу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 08:09 |
|
||
|
Куча [Python]
|
|||
|---|---|---|---|
|
#18+
FishHook, библиотека "heapq" Хеш-таблица требует предварительной инициализации ячеек значениями NULL - трудоемкость O(h) Код: python 1. 2. 3. 4. 5. 6. 7. Пример : Код: python 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 19:34 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=52&tid=1461391]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 399ms |

| 0 / 0 |
