Структуры данных LLD в контексте дизайна: свойство кучи — простое правило, которое делает кучи мощными
LLD Data Structures in Design Context: The Heap Property — The Simple Rule That Makes Heaps Powerful
"Куча не остается полезной, потому что все отсортировано. Оно остается полезным, поскольку каждый родитель следует одному простому правилу». В предыдущей статье мы узнали, что куча построена для непрерывного принятия решений. Будь то назначение ближайшего водителя, планирование следующего процесса или выбор самого срочного билета поддержки, система всегда нуждается в одном: Но это поднимает интересный вопрос. Как куча всегда может знать лучшего кандидата, не сортируя все? Ответ кроется в одном простом правиле: куча собственности. Это единственное правило дает кучу власти. Самое большое заблуждение о кучах Многие новички представляют себе кучу подобных вещей. Все отлично отлажено. Это кажется логичным. Если самый большой элемент всегда должен быть на первом месте, не каждый элемент должен быть расположен в...
"Куча не остается полезной, потому что все отсортировано. Оно остается полезным, поскольку каждый родитель следует одному простому правилу». В предыдущей статье мы узнали, что куча построена для непрерывного принятия решений. Будь то назначение ближайшего водителя, планирование следующего процесса или выбор самого срочного билета поддержки, система всегда нуждается в одном: Но это поднимает интересный вопрос. Как куча всегда может знать лучшего кандидата, не сортируя все? Ответ кроется в одном простом правиле: куча собственности. Это единственное правило дает кучу власти. Самое большое заблуждение о кучах Многие новички представляют себе кучу подобных вещей. Все отлично отлажено. Это кажется логичным. Если самый большой элемент всегда должен быть на первом месте, не должен ли каждый элемент быть организован в порядке? Удивительно, нет. Куча решает гораздо меньшую проблему. Это только гарантирует, что лучший элемент всегда легко достичь. Все остальное должно следовать одним простым отношениям. Представьте себе иерархию компании Подумайте о структуре компании. Генеральный директор не управляет непосредственно каждым сотрудником. Вместо этого каждый менеджер несет ответственность только за людей, находящихся непосредственно под ним. Вся организация работает, потому что каждый менеджер выполняет свою местную ответственность. Куча работает очень похожим образом. Каждый узел должен только поддерживать правильные отношения со своими ближайшими детьми. Он не должен знать о каждом другом узле в структуре. Взглянем на Макса Хипа. Обратите внимание на шаблон. Каждый родитель имеет ценность, большую или равную его детям. Это куча собственности. Вот так. Нет никакого правила, говорящего, что каждый узел должен быть больше, чем любой другой узел в куче. Только отношения между родителями и детьми имеют значение. А как же минская куча? Некоторые системы требуют наименьшего значения. Например: самый ранний крайний срок Самый низкий срок ответа Самый дешевый вариант доставки В таких случаях правило просто отменяется. Пример: Опять же, вся структура не сортируется. На