РИСОВАНИЕ Биноминальной Кучи - PullRequest
1 голос
/ 05 марта 2020

Кто-нибудь знает, как нарисовать максимальную кучу биномиальных значений 1-10? В настоящее время я изучаю кучу в моем курсе структуры данных, но после просмотра нескольких видео я все еще не могу получить его! И я не уверен, правильно ли я это делаю.

Я понимаю, что биноминальные кучи связаны с их прошлыми, но я специально остановился на максимальных. Я надеюсь, что, нарисовав его и увидев конечный результат, я лучше пойму.

Вот моя реализация (каждое «возвращение» - это новый уровень

10

9 8 6 (все 3 числа подключены к 10)

7 5 4 (7 подключено к 8, 5 и 4 подключено к 6)

2 1 3 (2 подключено к 7, 1 к 5, 3 к 4)

Я не был уверен, куда поставить 1 и 2.

Пожалуйста, дайте мне знать, если я должен как-то улучшить свой вопрос и при необходимости. Спасибо!

1 Ответ

1 голос
/ 05 марта 2020

Согласно информации тега , биноминальная куча - это лес биномиальных деревьев. И согласно этой статье википедии , количество элементов в каждом дереве всегда должно быть степенью 2. Кроме того, может быть только одно дерево каждого размера. Так, например, если есть два дерева размером 4, то их нужно объединить в одно дерево размера 8.

Таким образом, биноминальная куча с 10 элементами состоит из двух деревьев: дерева с 8 элементы и дерево с 2 элементами. Это означает, что ваша куча, как показано ниже. 1 и 2 не связаны с другими восемью элементами. Они находятся в отдельном дереве.

enter image description here

Пунктирные линии можно игнорировать. Источник изображения - статья в Википедии , и я только что заполнил цифры.

...