graphtopoorder

Выполните топологический вид направленного графа без петель

Синтаксис

order = graphtopoorder(G)

Аргументы

G N на n разреженная матрица, которая представляет направленный граф без петель. Ненулевые записи в матричном G указывают на присутствие ребра.

Описание

Совет

Дополнительные сведения о функциях теории графов см. в Функциях Теории графов.

order = graphtopoorder(G) возвращает индексный вектор с порядком узлов, отсортированных топологически. В топологическом порядке ребро может существовать между исходным узлом u и целевым узлом v, если и только если u появляется перед v в векторном order. G является N на n разреженной матрицей, которая представляет направленный граф без петель (DAG). Ненулевые записи в матричном G указывают на присутствие ребра.

Примеры

  1. Создайте и просмотрите направленный граф без петель (DAG) с шестью узлами и восемью ребрами.

    DG = sparse([6 6 6 2 2 3 5 1],[2 5 1 3 4 5 1 4],true,6,6)
    
    DG =
    
       (5,1)        1
       (6,1)        1
       (6,2)        1
       (2,3)        1
       (1,4)        1
       (2,4)        1
       (3,5)        1
       (6,5)        1
    
    view(biograph(DG))

  2. Найдите топологический порядок DAG.

    order = graphtopoorder(DG)
    
    order =
    
         6     2     3     5     1     4
    
  3. Переставьте узлы так, чтобы они казались упорядоченными в отображении графика.

    DG = DG(order,order)
    
    DG =
    
       (1,2)        1
       (2,3)        1
       (1,4)        1
       (3,4)        1
       (1,5)        1
       (4,5)        1
       (2,6)        1
       (5,6)        1
    
    view(biograph(DG))

Ссылки

[1] Siek, J.G., Ли, L-Q и Lumsdaine, A. (2002). Руководство пользователя библиотеки графика повышения и справочник, (верхний Сэддл-Ривер, образование НДЖ:ПИРСОНА).

Представленный в R2006b