Мне нужно реализовать структуру данных в C # / SQL Server, которая представляет собой немного дерева и немного графика. Я могу придумать, как это сделать, но производительность очень важна. Вот где мне нужна помощь.
Вот требования:
1) Существует n корневых узлов.
2) Каждый узел может иметь n дочерних элементов.
3) Каждый узел представляет собой список.
4) Каждый узел может быть связан с другим узлом или элементом в списке узлов.
5) Отношения (ребра?) Имеют тип. В частности, узлы могут иметь слабые отношения (все книги в библиотеке с одним и тем же предметом), отношения поколений (настройка рецепта), варианты отношений (перевод книги).
6) Каждый узел может иметь вес.
Я не очень хорошо разбираюсь в структурах данных, которые не входят в стандартную лексику (список, дерево, хэш-таблица, словарь и т. Д.). Так что может быть что-то там, о чем я просто не знаю. Когда я использую Google Graph Server, я получаю много ссылок о симпатичных графических элементах управления для отчетов. Производительность имеет решающее значение, потенциально могут быть миллионы узлов, которые должны быть введены в память. Я бы даже взял LMGTFY с правильно созданным запросом, так как я, кажется, не могу выразить то, что я хочу. Любая отправная точка поможет.