public static void stackDFTTraversal(String[][] edgeList){
    	Stack st = new Stack<String>();
    	ArrayList<String> discovered = new ArrayList<String>();
		
    	for(String[] edge : edgeList){
    		for(int i = 0; i < 2; i++){
    		   String node = edge[i];
    		   if(!discovered.contains(node)){
    			   st.add(node);
    			   
    			   while(!st.empty()){
    				   String n = (String) st.pop();
    				   discovered.add(n);
    				   System.out.println(n);
    				   ArrayList<String> adjacentNodes = getAdjacent(n, edgeList);
    			    	
    			    	for(int j = adjacentNodes.size()-1; j >=0 ; j-- ){
    			    		String v = adjacentNodes.get(j);
    			    		if(!discovered.contains(v)){
    			    			st.add(v);
    			    		}
    			    	}
    			   }
    		   }
    		}
    	}
    }