гpаф в линейкy

From
Konstantin Azarov ()
To
Juriy Tikhomirov
Date
2003-01-05T03:23:23Z
Area
RU.ALGORITHMS
From: "Konstantin Azarov" <azarov@comtv.ru>

Hello, Juriy!

 JT> такая задачка:
 JT> есть соответствия символов:
 JT> 1<2,2<4,4<3,7<3,11<1,5<4,5<3
 JT> необходимо выстpоить в линейкy в символы, yчитывая соответствия:
 JT> 11, 1, 2, 5, 4, 7, 3

Очень просто :): строим по исходным символам направленный граф (это понятно
как). Потом начинаем обход в глубину, храня при этом глобальную переменную -
"текущую позицию" (t). Эта переменная ведет себя так: сначала она равна
единице. После того как мы рассмотрели текущую вершину, присваиваем позиции
этой вершины значение t, а t увеличиваем на 1. Тогда после окончания обхода
в глубину будет выполняться следующее свойство: если вершина i достижима из
j, то t[i]<t[j], а поскольку 1<=t[k]<=N, значит t[k] и есть позиции вершин в
нашем отсортированном списке.

 JT> кста, поясните особый смысл циклических списков.
А что в них такого особого? Берем линейный список и конец связываем с
началом :)

--- ifmail v.2.15dev5
 * Origin: Comcor-TV (2:5020/400)