zoukankan      html  css  js  c++  java
  • Representations of graphs

    We can choose between two standard ways to represent a graph 
    as a collection of adjacency lists or as an adjacency matrix. Either way applies
    to both directed and undirected graphs. Because the adjacency-list representation
    provides a compact way to represent sparse graphs—those for which
    less than V ^2—it is usually the method of choice. Most of the graph algorithms
    presented in this book assume that an input graph is represented in adjacencylist
    form. We may prefer an adjacency-matrix representation, however, when the
    graph is dense—E is close to V^2—or when we need to be able to tell quickly
    if there is an edge connecting two given vertices.

    A potential disadvantage of the adjacency-list representation is that it provides
    no quicker way to determine whether a given edge .u; / is present in the graph
    than to search for  in the adjacency list AdjOEu. An adjacency-matrix representation
    of the graph remedies this disadvantage, but at the cost of using asymptotically
    more memory.

    the adjacency matrix A of an undirected graph is its own transpose: A  = AT.
    In some applications, it pays to store only the entries on and above the diagonal of
    the adjacency matrix, thereby cutting the memory needed to store the graph almost
    in half.

  • 相关阅读:
    JAVA基础知识之多线程——三种实现多线程的方法及区别
    JAVA基础知识之Collections工具类
    JAVA基础知识之Map集合
    JAVA基础知识之Queue集合
    JAVA基础知识之List集合
    JAVA基础知识之Set集合
    Java基础知识之集合(容器)简介
    JAVA中STL使用
    博客园皮肤
    RMQ
  • 原文地址:https://www.cnblogs.com/wujunde/p/7134307.html
Copyright © 2011-2022 走看看