Re: Построить граф по матрице

From
Alex Kozhushko ()
To
Alexander Pashchenko
Date
2002-12-04T08:58:10Z
Area
RU.ALGORITHMS
From: "Alex Kozhushko" <alxrie@sibmail.ru>

Добрый день, Александр!
"Alexander Pashchenko" <Alexander.Pashchenko@p212.f17.n5062.z2.fidonet.org>
wrote in message news:1038939758@p212.f17.n5062.z2.ftn...

AP> 1. О том, какой граф строить (орграф или простой) узнаём сравнив
половины
AP> матрицы относительно главной диагонали.

Смотря как определять неориентированный граф.

> 2. Выясняем количестов вершин (из размерности таблицы) и расставляем их по
> кругу, на равном расстоянии друг от друга.
AP>    ЗЫ: Как разместить точки (вершины) равноудалённо друг от друга, по
кругу?
AP> Сдаётся мне, здесь пахнет x=sin(?) y=cos(?).

А есть варианты?

AP>    ЗЗЫ: Или лучше разместить точки как-то подругому?

Да как угодно! Это уже вопросы эстетики. Например, отсортировать вершины
(благо, транзитивное замыкание отношения смежности - предпорядок).

AP> 3. Как лучше оформить вершины: записи-элементы в массиве, объекты... еще
AP> как-то. Мне кажется, что объекты, но может Алл знает, что-нибудь получше

??? Объекты-то зачем? Какие операции для вершины можно инкапсулировать?
Вершина - целое число. Координаты изображений вершин - массив записей.
Представление таблицы смежности - и то интереснее.

AP> 4. Как провести ребро: допустим граф имеет кратные рёбра. Соеденить две
точки
AP> линией просто, но как провести вторую/третью/... не затирая её, т.е. по
другой
AP> тректории? Точнее, как провести то еще пол-беды, а вот как
выбрать/создать
AP> новую.

А если сначала узнать, сколько линий надо проводить? Третьи точки дуг
вычислятся сами.
Еще смешнее - возле каждого ребра кратность указывать.

AP> ЗЗЫ блин, а для инцидентности то как строить?

Посмотреть, какая вершина с другой стороны ребра - Заратустра не позволяет?

С уважением,
Алексей


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)