2015-04-09 6 views
0

В настоящее время я собираюсь внедрить многопоточное дерево в C++, но я до сих пор не уверен, что это такое. Я прочитал несколько документов, но я все еще запутался из-за отсутствия изображений или визуализации.Это как я должен понимать, что такое многодорожечное дерево?

Скажем, я хочу трехстороннее дерево, согласно онлайн-заметкам, это означает, что каждый узел может иметь не более 3-1 = 2 элемента, и каждый узел может иметь не более 3-х детей. Ниже я нарисовал несколько деревьев, которые я не уверен, являются ли они деревьями с тремя дорожками, может кто-то, пожалуйста, убедиться, что я правильно понимаю это? Спасибо!

Кроме того, если у меня есть дерево с двумя способами, значит ли это, что у меня есть двоичное дерево? O.o? enter image description here

+0

Похоже диаграмму на # 2 связанный список. –

+0

Я оставил поля пустыми, потому что я думаю, что нам не нужно иметь m детей или m-1 элементов на узел справа? – Belphegor

+0

@ThomasMatthews хорошо да, вы могли бы сказать, что это связанный список, но вопрос в том, является ли это также трехсторонним деревом. – immibis

ответ

1

Мое понимание многоуровневого дерева - это количество поддеревьев, которые могут быть пройдены с одного узла.

  +---+ 
      | D | 
      +---+ 
      ^ 
      | 
      | 
+---+  +------+  +---+ 
| A | <-- | Root | --> | B | 
+---+  +------+  +---+ 
      | 
      | 
      V 
      +---+ 
      | C | 
      +---+ 

Диаграмма выше показывает многоуровневое дерево, поскольку корень имеет более 1 ребенка.

Обычно 2 ребенка на узел (кроме листовых узлов) указывают бинарные деревья.
Существует много разных видов бинарных деревьев.

См. Также B-Tree и B * Trees.

Edit 1:
Другой вид:

+------------------------+ 
|   Root   + 
+------------------------+ 
    |  |  |  | 
    V  V  V  V 
+---+ +---+ +---+ +---+ 
| A | | B | | C | | D | 
+---+ +---+ +---+ +---+ 
+0

Я вижу, так что я прав, думая, что с m-образным деревом я не требую, чтобы максимизировать все доступные пространства. – Belphegor

 Смежные вопросы

  • Нет связанных вопросов^_^