Page 294 - The Definitive Guide to Building Java Robots
P. 294

Preston_5564C07.fm  Page 275  Monday, September 26, 2005  5:38 AM



                                                                               CHAPTER 7  ■  NAVIGATION  275



                                    Vertex u = extractMinimum(); // gets shortest Vertext
                                    settled.add(u);
                                    relaxNeighbors(u);
                                }
                                ArrayList l = new ArrayList();
                                for (Vertex v = end; v != null; v = getPred(v)) {
                                    l.add(v);
                                }
                                Collections.reverse(l);
                                System.out.println("--- PRINT ORDER ---");
                                for (int d=0;d < l.size();d++) {
                                    Vertex v = (Vertex) l.get(d);
                                    System.out.println(v.name);
                                }
                                return l;
                            }
                            public Vertex getVertexByName(String n) {
                                int size = vertices.size();
                                for (int i = 0; i < size; i++) {
                                    Vertex vi = (Vertex) vertices.get(i);
                                    if (vi.name.equals(n)) {
                                        return vi;
                                    }
                                }
                                return null;


                            }
                            private int[][] getAdj() {


                                int[][] adjMatrix = new int[vertices.size()][vertices.size()];
                                // init all large
                                for (int i = 0; i < vertices.size(); i++) {
                                    for (int j = 0; j < vertices.size(); j++) {
                                        adjMatrix[i][j] = Integer.MAX_VALUE;
                                    }
                                }
                                // set to actual values  to zero
                                for (int i = 0; i < vertices.size(); i++) {
                                    Vertex vi = (Vertex) vertices.get(i);
                                    for (int j = 0; j < vertices.size(); j++) {
                                        Vertex vj = (Vertex) vertices.get(j);
                                        if (i == j) {
                                            adjMatrix[i][j] = 0;
   289   290   291   292   293   294   295   296   297   298   299