2016-05-17 3 views
-1

Я работаю на моем назначении Явы, в котором я дал вопрос из структур данных Java:Вычислить глубину дерева структуры Java Data

Возникает вопрос: Найти глубину дерева, если общее число узлов в 20.

Как это найти? Кто-нибудь может мне помочь, пожалуйста ??

+4

Я не думаю, что этот вопрос уместен здесь по двум причинам: 1. Непонятно, как должен выглядеть результат, например. номер или некоторый код Java. 2. Если вы попросите о помощи для домашней работы, вы должны объяснить, что вы сделали до сих пор. Лично. Я думаю, что эти домашние задания не просто так. Это помогает вам, если вы думаете об этом. Простое изучение результатов не сократит его. –

+0

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

ответ

2

входы, которые необходимы, прежде чем найти глубину дерева:

  1. корневого узла и структура узла. Это бинарное дерево (или дерево N-ary )?
  2. Общее количество узлов (N), и
    ли дерево К-ичных полное дерево (глубина = ⌊logk (п) ⌋) или полное дерево (глубина = logk (п))?

В первом случае вы можете перемещаться до листа с помощью DFS и находить глубину дерева (то есть длину самого длинного пути от корня до листа).

Во втором случае это всего лишь математическая работа.

+0

Не могли бы вы рассказать о первом, пожалуйста, –

+0

Лучшее место, чтобы узнать о случае 1: http://www.geeksforgeeks.org/write-ac-program-to-find-the-maximum-depth-or-height-of-of-of- a-tree/ –

+0

Другой важный вопрос, который нужно задать: «Является ли дерево сбалансированным?» Если у вас есть дерево поиска, которое не сбалансировано автоматически при вставке элементов, если вы вставляете 20 целых чисел в числовом порядке (1, 2, 3, ...), то глубина вашего дерева будет равна 20. В этот момент это просто связанный список с пучком пустых указателей. – dfoverdx

1

Не зная какой-либо подробной информации о классе или уроках, связанных с этим вопросом. Основным ответом станет обход дерева и подсчет глубины. Вот связанная тема.

How to calculate the depth of a binary search tree

1

Да согласен, это очень общая тема быть заданы.

Я думаю, ваш случай может быть двоичным деревом, двоичное дерево имеет фиксированную структуру узлов. Как вы видите ниже 1,2,4,8,16.
*
* *
* * * *
В вашем случае вашей глубина дерева будет 5. Я надеюсь, что вы можете написать один из многих логики. Одна простая логика состоит в том, чтобы найти двоичное представление входного числа. Для 20 - 10100. Длина двоичного представления - длина двоичного дерева.

+0

Да, сэр, ответьте мне, если вы можете –

+0

. Вы нашли ответ, решающий вашу проблему ? –

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