Скачать MetaTrader 5

Визуализация графов на основе массива

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sergey Dzyublik
5013
Sergey Dzyublik  

Есть массив размерностью 170 000. Каждый элемент массива указывает на элемент который находится правее его. На один элемент может ссылаться несколько элементов левее его, а может ни один.

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

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

 

 Грубо говоря, хочется визуализировать массив для ответов при решение задачи "поиска самой длинной возрастающей последовательности" (в данном конкретном случае спадающей последовательности).

 

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

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

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

Stanislav Korotky
18871
Stanislav Korotky  
Может визуализация здесь все-таки ни при чем? Что бы понять, какие пути более выигрышные, видимо стоит просто запустить обход по дереву и попутно считать "стоимость" каждого пути, исходя из неизвестного нам - но не суть важно какого - критерия "проигрышности".
Sergey Dzyublik
5013
Sergey Dzyublik  
marketeer:
Может визуализация здесь все-таки ни при чем? Что бы понять, какие пути более выигрышные, видимо стоит просто запустить обход по дереву и попутно считать "стоимость" каждого пути, исходя из неизвестного нам - но не суть важно какого - критерия "проигрышности".

Да, можно и без визуализации, нет ни чего сложного, просто ввести 2 критерия:

1. искомая величина должна быть не хуже чем А % от лучшей полседовательности

2. количество общих элементов с лучшей полседовательностью не должно превышать В %. 

Затем создать еще один массив для обозначения расстояния от расматреваемого элемента последовательности до первого ближайшего лучшей последовательности

И Все это будет работать за линейное время в самом худшем случае (там достаточно упорядоченные данные).

 

Я же все равно хочу посмотреть как оно визуально выглядит в количестве 170000 узлов (можно париться уменьшив количество до 1000 подбором коэффициентов и перегенирацией, но это будет не то)

Вот 170 первых узлов 0.1% от всего (далее не тянет):

 

Stanislav Korotky
18871
Stanislav Korotky  
Так о том и речь, что 170 тысяч глазом ухватить не получится. Будет куча-мала.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий