zoukankan      html  css  js  c++  java
  • ALG 3-5: Connectivity in Directed Graphs (有向图的连接性)

    Directed Graphs

    Directed graph. G = (V, E)

    • Edge (u, v) goes from node u to node v.

    Ex. Web graph -hyperlink points from one web page to another. (网络图——从一个网页到另一个网页的超链接)

    • Directedness of graph is crucial. (图的方向性至关重要)
    • Modern web search engines exploit hyperlink structure to rank web pages by importance. (搜索引擎利用超链接结构按重要性对网页进行排名)

    Graph Search (社交图谱搜索)

    Directed reachability. Given a node s, find all nodes reachable from s. (可达性:给定一个节点s,找出s可到达的所有节点。)

    Directed s-t shortest path problem. Given two node s and t, what is the length of the shortest path between s and t?

    (有向s-t最短路径问题: 给定两个节点s和t, s和t之间的最短路径的长度是多少?)

    Graph search. BFS extends naturally to directed graphs. (图搜索: BFS这一方法可以自然地应用到有向图搜索)

    Web crawler. Start from web page s. Find all web pages linked from s, either directly or indirectly.

    (网络爬虫:从网页s开始,找到所有直接或间接从s链接的网页)

    Strong Connectivity (强连通性)

    Def. Node u and v are mutually reachable if there is a path from u to v and also a path from v to u.

    (定义: 如果存在一条从u到v的路径和一条从v到u的路径,则节点u和v是相互可达的)

    Def. A graph is strongly connected if every pair of nodes is mutually reachable.

    (定义:一个图是强连通的,如果每个节点对都是相互可达的)

    Lemma. Let s be any node. G is strongly connected iff every node is reachable from s, and s is reachable from every node.

    (引理: 取任意节点。当且仅当 每个节点都可从s到达时,且s也是每个节点都可到达的 时,G是强连通的)

    Pf. ⇐ Path from u to v: concatenate u-s path with s-v path. (从u到v的路径: 将u-s路径与s-v路径连接)

              Path from v to u: concatenate v-s path with s-u path. (从v到u的路径:将v-s路径与s-u路径连接)

    Strong Connectivity: Algorithm

    Theorem. Can determine if G is strongly connected in O(m + n) time. (可以在O(m + n)时间内, 判断G是否强连通)

    Proof.

    • Pick any node s.
    • Run BFS from s in G. // 从s节点出发, 正向运行BFS算法
    • Run BFS from s in G_rev. (reverse orientation of every edge in G)   // 从s节点出发, 反向运行BFS算法
    • Return true iff all nodes reached in both BFS executions.
    • Correctness follows immediately from previous lemma.

  • 相关阅读:
    PAT顶级 1015 Letter-moving Game (35分)
    PAT顶级 1008 Airline Routes (35分)(有向图的强连通分量)
    PAT顶级 1025 Keep at Most 100 Characters (35分)
    PAT顶级 1027 Larry and Inversions (35分)(树状数组)
    PAT 顶级 1026 String of Colorful Beads (35分)(尺取法)
    PAT顶级 1009 Triple Inversions (35分)(树状数组)
    Codeforces 1283F DIY Garland
    Codeforces Round #438 A. Bark to Unlock
    Codeforces Round #437 E. Buy Low Sell High
    Codeforces Round #437 C. Ordering Pizza
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/13975675.html
Copyright © 2011-2022 走看看