예제 #1
0
 // return a string representation
 public String toString() {
   String s = "";
   for (int i : st.keys()) {
     s += "(" + i + ", " + st.get(i) + ") ";
   }
   return s;
 }
예제 #2
0
  public SymbolGraph(String filename, String delimiter) {
    st = new ST<String, Integer>();

    // First pass builds the index by reading strings to associate
    // distinct strings with an index
    In in = new In(filename);
    while (in.hasNextLine()) {
      String[] a = in.readLine().split(delimiter);
      for (int i = 0; i < a.length; i++) {
        if (!st.contains(a[i])) st.put(a[i], st.size());
      }
    }

    // inverted index to get string keys in an aray
    keys = new String[st.size()];
    for (String name : st.keys()) {
      keys[st.get(name)] = name;
    }

    // second pass builds the graph by connecting first vertex on each
    // line to all others
    G = new Graph(st.size());
    in = new In(filename);
    while (in.hasNextLine()) {
      String[] a = in.readLine().split(delimiter);
      int v = st.get(a[0]);
      for (int i = 1; i < a.length; i++) {
        int w = st.get(a[i]);
        G.addEdge(v, w);
      }
    }
  }
 public Iterable<String> teams() // all teams
     {
   return teamID.keys();
 }
예제 #4
0
 // return the dot product of this vector and that array
 public double dot(double[] that) {
   double sum = 0.0;
   for (int i : st.keys()) sum += that[i] * this.get(i);
   return sum;
 }