Алгоритм приведения графа к ярусно-параллельной форме.
Ярусно-параллельная форма графов
Граф, не имеющий контуров, может быть представлен в ярусно-параллельной форме. Ярусно-параллельная форма – это такой вид графа, у которого в верхний нулевой ярус помещены вершины, имеющие только исходящие дуги; в нижний ярус помещены вершины, имеющие только входящие дуги. На k-том ярусе помещены вершины, которые имеют входящие дуги из предыдущих ярусов, среди которых хотя бы одна дуга из (k-1)-того яруса.
Количество вершин в ярусе определяет ширину яруса. Наибольшая ширина яруса определяет ширину графа в ярусно-параллельной форме. Количество ярусов определяет высоту графа в ярусно-параллельной форме.
1. Составляется матрица смежности графа.
2. Матрица смежности просматривается в поисках нулевых столбцов. Вершины, которым соответствуют нулевые столбцы, помещаются в нулевой ярус.
3. Из матрицы смежности столбцы и строки, соответствующие вершинам нулевого яруса.
4. Повторяется п.2 данного алгоритма до тех пор, пока не будут охвачены все вершины.
5. По исходной матрице смежности восстанавливаются дуги между вершинами.
ПРИМЕР
Привести граф к ярусно-параллельной форме.
Рис. 3.8 Граф
1. Матрица смежности имеет вид:
2. В нулевой ярус помещаются вершины 3 и 8.
3. Из матрицы смежности вычеркиваются строки и столбцы, соответствующие вершинам 3 и 8:
4. В первый ярус помещаются вершины 4 и 5.
5. Из матрицы смежности вычеркиваются строки и столбцы, соответствующие вершинам 4 и 5:
6. Во второй ярус помещается вершина 1.
7. Из матрицы смежности вычеркиваются строка и столбец, соответствующие вершине 1:
8. В третий (последний) ярус помещаются вершины 2,6 и 7.
Таким образом, граф может быть представлен в ярусно-параллельной форме:
Рис. 3.9 Граф
Высота графа - 4 яруса; ширина -3.