2013-07-24 2 views
0

Привет Я пытаюсь реализовать дерево k-массива, выход которого находится в форме смежной матрицы с использованием Java. Вводимые входные параметры: k = число дочерних элементов для каждого узла и d = глубина дерева (высота).k-array tree для создания матрицы смежности

Учитывая этот параметр, мне нужно создать соседнюю матрицу (записанную в файле) дерева k-массива. не могли бы вы посоветовать мне реализовать это?

Я уже просмотрел следующие ссылки, и я не могу следовать, потому что я начинаю Java. так можете ли вы, пожалуйста, направить меня на это?

http://vivin.net/2010/01/30/generic-n-ary-tree-in-java/

http://sujitpal.blogspot.com/2006/05/java-data-structure-generic-tree.html

+0

Мне нужна эта реализация для моей исследовательской работы, и это не мое задание. Заранее спасибо. – Nesh

ответ

0

У меня есть осуществление k-ary tree (он очень похож на мой п-арной реализации дерева, что вы связаны с). Это не полный, но он должен дать вам достаточно для начала.

Чтобы создать матрицу смежности, вам понадобится двумерный массив с размерами n x k. Затем вам нужно будет пересечь дерево и заполнить матрицу смежности. Строка i будет соответствовать узлу i, а matrix[i][0] - matrix[i][k - 1] будет содержать ссылки на детей k узлов узла i. Конечно, порядок узлов в матрице смежности будет зависеть от вашего метода обхода.

+0

Большое спасибо за ваш ответ. Я начинаю, поэтому вы можете вести меня с того, с чего начать, потому что я не вижу «static void main()». где я могу ввести входное значение, такое как K и d? – Nesh

+0

@Nesh Я боюсь, что вопрос слишком широк. Вам придется импортировать эту библиотеку или просто скопировать нужные классы. Вы будете создавать объекты этого класса из своего 'main()'. Это действительно зависит от вашей реализации. –

+0

большое спасибо за ваш ответ. Могу ли я попросить вас дать мне пример о том, как его использовать? то я могу взять это оттуда. – Nesh

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