Построить граф по матрице
- From
- Alexander Pashchenko (2:5062/17.212)
- To
- Alex Kozhushko
- Date
- 2002-12-05T00:41:46Z
- Area
- RU.ALGORITHMS
Hello Alex.
04 Dec 02 08:58, Alex Kozhushko wrote to me:
AP>> 1. О том, какой граф строить (орграф или простой) узнаём сравнив
AK> половины
AP>> матрицы относительно главной диагонали.
AK> Смотря как определять неориентированный граф.
Наверное к часу ночи я потупел, но всё же: что означает вышеприведенная фраза?
Что граф можно определить по другой матрице?
>> 2. Выясняем количестов вершин (из размерности таблицы) и расставляем их по
>> кругу, на равном расстоянии друг от друга.
AP>> ЗЫ: Как разместить точки (вершины) равноудалённо друг от друга, по
AK> кругу?
AP>> Сдаётся мне, здесь пахнет x=sin(?) y=cos(?).
AK> А есть варианты?
Ну мне бы хотелось узнать [поточнее] что писать на месте вопросов, да ещё, чтобы точки были на равном расстоянии друг от друга.
ЗЫ сейчас попробую набросать в Паскале, но мне кажется что ничего хорошего не выйдет, слишком долго не спал :(((
AP>> ЗЗЫ: Или лучше разместить точки как-то подругому?
AK>Да как угодно!
А всё же?
AK>Это уже вопросы эстетики.
Т.е. можно и рандомно вершины разбросать?
AK>Например, отсортировать вершины
В смысле?
AK> (благо, транзитивное замыкание отношения смежности - предпорядок).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (1)
Бррр. Наверно нам дискретку неполно преподают или мы не дошли, что есть (1)
AP>> 3. Как лучше оформить вершины: записи-элементы в массиве, объекты... еще
AP>> как-то. Мне кажется, что объекты, но может Алл знает, что-нибудь получше
AK> ??? Объекты-то зачем? Какие операции для вершины можно инкапсулировать?
Допустим можно хранить список смежных вершин. Или его можно еще откуда-то узнать. (Вот блин, уже не соображаю).
AK> Вершина - целое число. Координаты изображений вершин - массив записей.
Угу. А ты случаем не знаешь ссылок на хороший модуль/описание структур и алгоритмов/ динамических списков и/или динамических массивов.
А то как ни возьмусь делать, все себе путаница получается (главное на бумаге всё в ажуре).
AK> Представление таблицы смежности - и то интереснее.
???
AP>> 4. Как провести ребро: допустим граф имеет кратные рёбра. Соеденить две
AK> точки
AP>> линией просто, но как провести вторую/третью/... не затирая её, т.е. по
AK> другой
AP>> тректории? Точнее, как провести то еще пол-беды, а вот как
AK> выбрать/создать
AP>> новую.
AK> А если сначала узнать, сколько линий надо проводить?
Ну знаю, если строю по матрице инцидентности.
AK> Третьи точки дуг вычислятся сами.
Как сами? А если они наложаться друг на друга (в смысле дуги).
AK> Еще смешнее - возле каждого ребра кратность указывать.
ГЕНИАЛЬНО! только надо с преподавательнией обговорить можно ли так, или ей иначе надо.
AP>> ЗЗЫ блин, а для инцидентности то как строить?
AK> Посмотреть, какая вершина с другой стороны ребра - Заратустра не
AK> позволяет?
Уууу. Лучше уж я завтра перечитаю :)
ЗЫ извини за сумбур, но вторую ночь не сплю, а задачка больно интересная.
ЗЗЫ мож в мыло, а то больше никто не ответил.
Alexander
... np: silence
--- GoldED+/W32 1.1.5-020726
* Origin: Имею свежие свопы на продажу: Win9x,Win2K,OS/2,... д (2:5062/17.212)