Графические структуры данных в LabVIEW

Как лучше всего представить структуры данных графа в LabVIEW?

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

(Мне известно, что несколько лет назад существовала тема на LAVA, это мой лучший выбор?)


person Joe Z    schedule 30.12.2011    source источник
comment
LabVIEW ИМХО не приспособлен для программирования графов. Это потребовало бы больших усилий, почему бы вместо этого не использовать текстовый язык с хорошей графической библиотекой?   -  person CharlesB    schedule 30.12.2011
comment
Я более или менее согласен с тем, что графы и LabVIEW представляют собой сложную комбинацию, но некоторые задачи действительно нуждаются в графическом представлении. Если кто-то знает хорошее решение, я могу использовать его для обзора, а затем внедрить в свои повседневные инструменты. Если решения не существует, возможно, я смогу что-нибудь написать и предложить его с открытым исходным кодом.   -  person Joe Z    schedule 30.12.2011


Ответы (2)


У меня никогда не было необходимости делать это самому, поэтому я никогда не интересовался этим, но, насколько мне известно, есть некоторые люди, которые проделали некоторую работу.

Брайан К. опубликовал кое-что здесь, хотя я давно не смотрел на это:

https://decibel.ni.com/content/docs/DOC-12668

Если это не поможет, я бы посоветовал вам прочитать это, а затем попробовать послать там личное сообщение Даклу, так как он, скорее всего, имеет что-то.

https://decibel.ni.com/content/thread/8179?tstart=0

Если нет, я бы предложил разместить вопрос на LAVA, так как вы, скорее всего, найдете там нужных людей.

person Yair    schedule 01.01.2012

Ну, с простой точки зрения, у вас не так много вариантов графиков. Это действительно зависит от типов алгоритмов, которые вы используете, чтобы выбрать наиболее удобное представление.

Матрица смежности проста, но может быть медленной для некоторых задач и может быть расточительной, если граф не плотный.

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

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

person Cris Stringfellow    schedule 30.12.2011