2012-03-25 3 views
1

Я разместил аналогичное сообщение в списке рассылки golang, так как это связано с некоторыми специфическими для конкретного языка деталями. Я надеюсь, что поддержка cuncurrency, поддерживающая родной язык, может иметь лучший способ моделировать это, чем шаблон. Если вы не знакомы с golang, пожалуйста, помогите мне с вашими знаниями структуры данных в целом. Я думаю, что большинство моих сомнений нейтрально нейтральны, и у меня был лучший ответ от SO.Структура данных для моделирования отношения сдерживания/составного отношения

Я пытаюсь моделировать область хранения (имеет отношение к хранению, как, хранение -> стойка (ы) -> полка (ов) -> Bin (s). Как я узнал, обычно он может моделироваться с "композитным шаблон ", но в целях - Сохраняйте детали структуры (иерархии) отдельно от объектов - Используйте языковые конструкции (каналы для ходьбы по дереву и т. д.) Я думал о моделировании информации в дереве. имеют представление о том, какая наилучшая древовидная структура подходит для этого приложения.

  1. В go, я вижу две библиотеки, реализующие LLRB и treap. Что бы вы порекомендовали? доступна ли подходящая структура данных?
  2. Должно ли быть сбалансировано дерево? например, у меня может быть только одна полка в одной стойке, но может быть произвольно длинной сдерживающей способностью в других.
  3. Для быстрого обхода я сохраню его в памяти. Как управлять загрузкой, созданием и сохранением древовидной структуры? Я строю дерево каждый раз, когда я открываю приложение, и не сохраняю самого дерева, кроме объектов.
+0

Трудно сказать много о параллелизме, не зная больше о вашем приложении. – Sonia

ответ

0

У вас есть хорошие ответы в списке Go-Nuts. Совет Самира Аджмани, чтобы начать со встроенных типов, хорош. Не увязывайтесь в чем-то более сложном, пока простые решения не окажутся недостаточными. У Си парня есть ваше решение для настойчивости. Гоб быстро и просто.

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