У меня есть задача реализовать двоичную кучу. Однако я не уверен, следует ли реализовать двоичную кучу как структуру данных двоичного дерева или простой двойной связанный список.Должен ли двоичная куча быть бинарным деревом или связанным списком?
Если я должен реализовать как двоичное дерево, как мне следует отслеживать последний элемент дерева, чтобы вставить новый элемент? В связанном списке это будет намного проще.
Значит, бинарная куча должна быть двоичным деревом? Если да, как отслеживать последний элемент?
Примечание: В моем назначении есть заявление, как это: Но вы реализуете двоичную кучу не как массив, но как дерево.
Чтобы быть более ясно, что это мой узел:
struct Word{
char * word;
int count;
struct Word * parent;
struct Word * left_child;
struct Word * right_child;
}
На каком языке это? –