как это называется, когда у вас есть структура данных, которая выглядит как организационная диаграмма? - PullRequest
2 голосов
/ 29 июня 2009

Это я показываю, что я не получил степень CS. Мне интересно, что, черт возьми, ты называешь это:

  • каждый узел имеет идентификатор (уникальный) и parentId
  • узел в верхней части дерева не имеет parentId
  • родительский узел может иметь 0 ... n дочерних узлов, или, может быть, правильнее сказать, что идентификатор родительского узла может появляться в 0..n узлах

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

Редактировать: я действительно застрял на этой штуке , а не как на b-дереве, поэтому я подумал, что будет термин для деревьев, которые не сбалансированы. И есть: дерево.

Ответы [ 8 ]

16 голосов
/ 29 июня 2009

В общем случае это график. Поскольку между узлами существует направленное отношение (а именно, от дочерних узлов к родительскому), это также ориентированный граф или орграф. Предположительно, в графе нет петель (то есть A -> B, B -> C, C -> A), так что это направленный ациклический граф (DAG). А поскольку, вероятно, также будет один корневой узел, это также дерево.

14 голосов
/ 29 июня 2009

Разве это не простое [дерево] (http://en.wikipedia.org/wiki/Tree_(data_structure))?

3 голосов
/ 29 июня 2009

Действительно испорченная организация может быть представлена ​​только графиком. ; -)

3 голосов
/ 29 июня 2009

Я бы просто назвал это деревом. Хотя технически может существовать термин для небинарного и сбалансированного дерева. ИМО, дерево отлично работает. Я мог бы также назвать это иерархическими данными.

2 голосов
/ 29 июня 2009

Это просто дерево. Нет необходимости в большем различии, чем это, ИМО.

1 голос
/ 05 июля 2009

Математик сказал бы, что это корневое дерево , как в теории графов деревья не должны иметь корень.

В информатике почти все деревья имеют корни, поэтому, как отмечали другие, это называется просто деревом.

1 голос
/ 29 июня 2009

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

0 голосов
/ 30 июня 2009

Как все указывают, вам, вероятно, не нужно ничего более сложного, чем дерево.

Для более сложных структур, таких как граф, это не совсем безумие.

См. статью Мартина Фаулера о структурах подотчетности. Тем не менее, я могу сказать из первых рук, что лучше не моделировать органное дерево в виде графа, когда оно вам не нужно.

...