类 SymbolDigraph


  • public class SymbolDigraph
    extends java.lang.Object
    The SymbolDigraph class represents a digraph, where the vertex names are arbitrary strings. By providing mappings between string vertex names and integers, it serves as a wrapper around the Digraph data type, which assumes the vertex names are integers between 0 and V - 1. It also supports initializing a symbol digraph from a file.

    This implementation uses an ST to map from strings to integers, an array to map from integers to strings, and a Digraph to store the underlying graph. The indexOf and contains operations take time proportional to log V, where V is the number of vertices. The nameOf operation takes constant time.

    For additional documentation, see Section 4.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    • 构造器概要

      构造器 
      构造器 说明
      SymbolDigraph​(java.lang.String filename, java.lang.String delimiter)
      Initializes a digraph from a file using the specified delimiter.
    • 方法概要

      修饰符和类型 方法 说明
      boolean contains​(java.lang.String s)
      Does the digraph contain the vertex named s?
      Digraph digraph()
      Returns the digraph assoicated with the symbol graph.
      Digraph G()
      已过时。
      Replaced by digraph().
      int index​(java.lang.String s)
      已过时。
      Replaced by indexOf(String).
      int indexOf​(java.lang.String s)
      Returns the integer associated with the vertex named s.
      static void main​(java.lang.String[] args)
      Unit tests the SymbolDigraph data type.
      java.lang.String name​(int v)
      已过时。
      Replaced by nameOf(int).
      java.lang.String nameOf​(int v)
      Returns the name of the vertex associated with the integer v.
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • SymbolDigraph

        public SymbolDigraph​(java.lang.String filename,
                             java.lang.String delimiter)
        Initializes a digraph from a file using the specified delimiter. Each line in the file contains the name of a vertex, followed by a list of the names of the vertices adjacent to that vertex, separated by the delimiter.
        参数:
        filename - the name of the file
        delimiter - the delimiter between fields
    • 方法详细资料

      • contains

        public boolean contains​(java.lang.String s)
        Does the digraph contain the vertex named s?
        参数:
        s - the name of a vertex
        返回:
        true if s is the name of a vertex, and false otherwise
      • index

        @Deprecated
        public int index​(java.lang.String s)
        已过时。
        Replaced by indexOf(String).
        Returns the integer associated with the vertex named s.
        参数:
        s - the name of a vertex
        返回:
        the integer (between 0 and V - 1) associated with the vertex named s
      • indexOf

        public int indexOf​(java.lang.String s)
        Returns the integer associated with the vertex named s.
        参数:
        s - the name of a vertex
        返回:
        the integer (between 0 and V - 1) associated with the vertex named s
      • name

        @Deprecated
        public java.lang.String name​(int v)
        已过时。
        Replaced by nameOf(int).
        Returns the name of the vertex associated with the integer v.
        参数:
        v - the integer corresponding to a vertex (between 0 and V - 1)
        返回:
        the name of the vertex associated with the integer v
        抛出:
        java.lang.IllegalArgumentException - unless 0 <= v < V
      • nameOf

        public java.lang.String nameOf​(int v)
        Returns the name of the vertex associated with the integer v.
        参数:
        v - the integer corresponding to a vertex (between 0 and V - 1)
        返回:
        the name of the vertex associated with the integer v
        抛出:
        java.lang.IllegalArgumentException - unless 0 <= v < V
      • G

        @Deprecated
        public Digraph G()
        已过时。
        Replaced by digraph().
        Returns the digraph assoicated with the symbol graph. It is the client's responsibility not to mutate the digraph.
        返回:
        the digraph associated with the symbol digraph
      • digraph

        public Digraph digraph()
        Returns the digraph assoicated with the symbol graph. It is the client's responsibility not to mutate the digraph.
        返回:
        the digraph associated with the symbol digraph
      • main

        public static void main​(java.lang.String[] args)
        Unit tests the SymbolDigraph data type.
        参数:
        args - the command-line arguments