Cтраница 1
Биномиальная очередь из N элементов содержит по одному сортирующему дереву на каждый бит двоичного представления числа N. [1]
Биномиальная очередь размера N представляет собой список левосторонних пирамидально упорядоченных сортирующих деревьев степеней 2, по одному на каждый бит двоичного представления числа N. Таким образом, биномиальная очередь размера 13 - 11012 состоит из одного 8-узлового сортирующего дерева, одного 4-узлового и одного 1-узлового деревьев. На диаграмме показано представление в виде левостороннего пирамидально упорядоченного сортирующего дерева степеней 2 ( сверху) и представление в виде биномиального пирамидально упорядоченного дерева ( внизу) одной и той же биномиальной очереди. [2]
Добавление биномиальной очереди из 3 узлов к биномиальной очереди из 7узлов имеет своим результатом очередь из 10 узлов как результат выполнения процесса, который моделирует операцию сложения 0112 111210102 двоичной арифметики. Последующее сложение трех 2-деревьев оставляет одно из них в итоговой очереди, а в перенос попадает 4-дерево, содержащее узлы TNEI. Это 4-дерево складывается с другим 4-деревом, образуя биномиальную очередь, показанную в нижней части диаграммы. Процесс охватывает небольшое количество узлов. [3]
Для биномиальных очередей характерно высокое быстродействие, тем не менее, были предложены специальные структуры данных, которые обладали в теоретическом плане еще лучшими характеристиками, гарантировано обеспечивая постоянное время выполнения некоторых операций. Эта проблема вызывает интерес и предлагает разработчиками структур данных широкое поле деятельности. С другой стороны, практическое применение многих из этих, понятных только посвященным, структур весьма сомнительно, а мы должны знать, что от некоторых имеющих место ограничений эффективности можно избавиться только путем снижения времени выполнения некоторых операций на очередях по приоритетам, прежде чем пускаться на поиски сложных решений в области структур данных. И в самом деле, для практических применений предпочтение следует отдавать тривиальным структурам при отладке и при работе с очередями малых размеров; далее, для ускорения операций, если речь не идет о получении быстродействующей операции объединить, необходимо использовать сортирующие деревья. Наконец, биномиальными очередями следует пользоваться, если требуется получить логарифмическое время выполнения всех операций. Однако, принимая во внимание все сопутствующие факторы, приходим к выводу, что пакет очередей по приоритетам на базе биномиальных очередей является, несомненно, ценным вкладом в библиотеку программного обеспечения. [4]
Для биномиальных очередей кар ктсрно высокое быстролсйстнист тем не менее, ( шли пре / л южены специальные структуры ланкыл. & лад и а теоретическом jLUdHti true лучшими характеристиками, гаранта рола F о обеспечивал тхлтмжюс ррсмя выполнения не кото рык осгсрншил. Эта проблема & ы пинает и Е втер ее и предлагав разработчиками структур данных широкое поле не я тел ьн ОСПЕ С другой стороны, практическое гтрчмснсргие многих ид УТИХ, понятых только зюсвящекнын, Структур весьма сомнительно, а уы должны знать что от некоторых имеющих место офаннчсмнй эффективности можно избавиться только путем снижснин времени выполнения некоторых операций на очерелях по приоритетам, прежде чем пускаться ка поиски сложных решений и о & ггастн структ р JSHHEJX. И и сэмон деле, Ш1Я практически примснсинй предпочтение с гедует отлаять тривиа тьньгм структурам при отладка и при работе с очередями малых ра мсрои; палееч ЛJ ] я ускореннн операций. Однако, црнннмэл но внимание все солутстнуюшие факторы, приходим к нмрьолу, что пакет очередей по приоритет дм на базе биномиальных очередей является. HCCOMHCFCHO, ценным нкладпм в библиотеку программно. [5]
Построить биномиальную очередь, которая получится, если ключи EASY QUESTION вставляются в первоначально пустую биномиальную очередь. [6]
Построить биномиальную очередь, которая получится, если ключи EASY вставляются в первоначально пустую биномиальную очередь, и построить биномиальную очередь, которая получится, если вставить ключи QUESTIONS первоначально пустую очередь. Затем выполните операцию удалить наибольший в обеих очередях и представьте результат. И наконец, представьте результат выполнения операции объединить применительно к полученным очередям. [7]
Определение 9.6. Биномиальная очередь представляет собой набор сортирующих деревьев степени 2, ни одно из которых не совпадает с остальными по размеру. Структура биномиальной очереди определяется числом узлов этой очереди в соответствии с двоичным представлением целых чисел. [8]
Если в биномиальной очереди сортирующее 2 -дере & о отсутствует, в рчервдь помещается 2 - дере во переноса, Если а биномиальной очереди такое дерево есть, оно объединяется с таким же новым деревом ( с применением фу кцим pair из программы 9.13) и получается 2 - дере во, после чего значение j увеличивается на 1 и процесс л ро до л кается до так лор. [9]
Если в биномиальной очереди сортирующее 2 -дерево отсутствует, в очередь помещается 2 -дерево переноса. Если в биномиальной очереди такое дерево есть, оно объединяется с таким же новым деревом ( с применением функции pair из программы 9.13) и получается 2 1-дерево, после чего значение / увеличивается на 1 и процесс продолжается до тех пор, пока не обнаруживается пустая позиция для сортирующего дерева в биномиальной очереди. [10]
Структура данных биномиальной очереди Вийемана ( Vuillemin) в том виде, в каком она была реализована и исследована Брауном ( Brown), поддерживает все операции над очередями с приоритетами элегантно и эффективно. Двоичные сортирующие деревья, описанные Фредманом ( Fredman), Седжвиком, Слеатором ( Sleator) и Тарь-яном ( Tarjan), являются усовершенствованиями базового понятия и представляют немалый практический интерес. [11]
Лемма 9.8. Построение биномиальной очереди с выполнением N операций вставок в первоначально пустую очередь требует выполнения 0 ( N) сравнений в наихудшем случае. [12]
В результате получаем биномиальную очередь, представленную в нижней части диаграммы и состоящую из 8-дерева, причем 4 -, 2 - и 1-деревья отсутствуют. [13]
EASY вставляются h первоначально пустую биномиальную очередь, и построить биномиальную очередь, которая иалуштся. [14]
Построить такую программную реализацию биномиальной очереди, чтобы выполнялась лемма 9.7. Использовать для этой цели сигнальный указатель, отмечающий точку, в которой циклы должны завершаться. [15]