Каков наилучший способ реализовать дерево в matlab?

#matlab #tree

#matlab #дерево

Вопрос:

Я хочу написать реализацию (не двоичного) дерева и запустить на нем некоторые алгоритмы. Причина использования matlab заключается в том, что остальные все программы находятся в matlab, и это было бы полезно для некоторого анализа и построения графиков. Из первоначального поиска в matlab я обнаружил, что в matlab нет таких вещей, как указатели. Итак, я хотел бы знать наилучший (с точки зрения удобства) возможный способ сделать это в matlab? или любыми другими способами?

Комментарии:

1. Если вы можете справиться с двоичной реализацией красно-черного дерева, это глупо просто: import java.util.TreeMap

2. @MattB. у вас есть какой-нибудь пример того, как использовать java.util.TreeMap в matlab в виде дерева?

3. @MattB. вы можете использовать TreeMap как карту , но как вы можете использовать как дерево?

4. @JuanPablo — это реализация дерева для универсальной карты. Это не раскрывает внутренности дерева. Это просто гарантирует O (log n) временные затраты на некоторые операции. ( Oracle изменила ссылку на документацию; теперь она здесь )

Ответ №1:

Вы можете сделать это с объектами MATLAB, но вы должны убедиться, что используете объекты-дескрипторы, а не объекты-значения, потому что ваши узлы будут содержать перекрестные ссылки на другие узлы (т. Е. родительский узел, следующий брат, первый потомок).

Комментарии:

1. @petrichor Спасибо. Я это исправил. Я думаю, это никогда не работало, так как я изначально вставил идентификатор сеанса. О!

Ответ №2:

Этот вопрос очень старый, но все еще открытый. Итак, я просто хотел бы указать читателям на эту реализацию в обычном MATLAB, созданную вашим покорным слугой. Вот руководство, в котором рассказывается о его использовании.

Ответ №3:

Matlab очень хорошо подходит для обработки любого вида графиков (не только деревьев), представленных в виде матрицы смежности или матрицы инцидентности.

Матрицы (представляющие графики) могут быть либо плотными, либо разреженными, в зависимости от свойств ваших графиков.

И последнее, но не менее важное: теория графов и линейная алгебра очень фундаментально связаны друг с другом, см., например,, поэтому Matlab мы сможем предоставить вам очень хорошую платформу для использования таких взаимосвязей.

Комментарии:

1. Как я могу их использовать … matlab поддерживает только массивы и ячейки, я не могу формировать связанные списки в matlab. использование матриц будет кошмаром с точки зрения потребления памяти, я понятия не имею.

2. @Rajesh D: Ну, вы можете использовать разреженные матрицы (подробнее смотрите здесь mathworks.com/help/techdoc/ref/sparse.html ). Спасибо