Дерево (направленный граф без петель) реализация

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

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

12
задан Dominique Fortin 27 March 2017 в 15:00
поделиться

4 ответа

Кажется, нет ничего вида. Я задал подобный вопрос на прошлой неделе и закончил тем, что реализовал свое собственное дерево. Моя реализация была очень похожа на то, что Вы предлагаете:

public class TreeNode<T>
{
    private LinkedList<TreeNode<T>> children = new LinkedList<TreeNode<T>>();
    public T value { get; set; }

    public TreeNode(T value)
    {
        this.value = value;
    }
    public LinkedList<TreeNode<T>> GetChildren()
    {
        return children;
    }
}

Необходимо будет добавить ссылку назад на родителя (родителей).

11
ответ дан 2 December 2019 в 19:56
поделиться

Существует также http://www.jgrapht.org, которому лицензировали программное обеспечение под LGPL. Я должен предупредить Вас, хотя, реализовывая Ваше собственное чревато опасностью. Если Вы планируете использование рекурсии на Вашей структуре (который является графиком), необходимо будет удостовериться, что это нециклически, или Вы столкнетесь с проблемами бесконечного цикла. Лучше для использования стороннего кода, где они уже занимались проблемами.

5
ответ дан 2 December 2019 в 19:56
поделиться

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

1
ответ дан 2 December 2019 в 19:56
поделиться

При поиске дополнительных возможностей графика класс Диграфа JDIGRAPH должен отвечать всем требованиям.

0
ответ дан 2 December 2019 в 19:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: