Ignore:
Timestamp:
Sep 30, 2010, 5:33:45 PM (14 years ago)
Author:
gnappo
Message:

Aggiunto metodo per stampare i grafi in formato utile per kmetis; modificato politica di azione di mqi, ora agisce sulla partizione piu` grande.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/weka/clusterers/forMetisMQI/graph/UndirectedGraph.java

    r17 r20  
    11package weka.clusterers.forMetisMQI.graph;
    22
     3import java.io.PrintStream;
    34import java.util.ArrayList;
    45import java.util.Collection;
     6import java.util.HashMap;
    57import java.util.Iterator;
    68import java.util.List;
     9import java.util.TreeMap;
    710
    811import weka.clusterers.forMetisMQI.Random;
     
    109112        }
    110113       
     114        public void printForMetis(PrintStream output) {
     115                TreeMap<Integer,Node> map = new TreeMap<Integer,Node>();
     116                HashMap<Node,Integer> reverseMap = new HashMap<Node,Integer>();
     117                Iterator<Node> nodesIterator = getVertices().iterator();
     118                int id = 1;
     119                while(nodesIterator.hasNext()) {
     120                        Node node = nodesIterator.next();
     121                        map.put(id, node);
     122                        reverseMap.put(node,id);
     123                        id++;
     124                }
     125                output.println(getVertexCount() + " "+ getEdgeCount());
     126                Iterator<Integer> mappedIterator = map.keySet().iterator();
     127                while(mappedIterator.hasNext()) {
     128                        id = mappedIterator.next();
     129                        Iterator<Node> neighbors = getNeighbors(map.get(id)).iterator();
     130                        while(neighbors.hasNext()){
     131                                output.print(reverseMap.get(neighbors.next()));
     132                                if(neighbors.hasNext()) output.print(" ");
     133                        }
     134                        output.println();
     135                }
     136        }
     137       
    111138        public String toString() {
    112139                StringBuffer sb = new StringBuffer("Vertices:");
Note: See TracChangeset for help on using the changeset viewer.