User Tools

Site Tools


berthelot:solution_homework1_exercise2
Critères Commentaire(s) Points attribués
(2) Algo (justesse) BFS récursif 2
(2) Code (structure) Bien 1.5
(2) Code (lisibilité) Noms des variables ? see ? Commentaires … 2
(1) Paramétrage (choix sommet départ) Aucun. Utilisation de la fct getOneNode() 0
(1) Mise à disposition Il m'a fallu copier coller depuis le wiki … pas de fichier joint. 0
(8) Total 5.5

Algo et code: see propriété integer plutôt que boolean. Vous utilisez un parcours récursif plutôt qu'une structure de données annexe pour stocker les sommets qu'il reste à visiter (c'est malin, mais alors pourquoi importer deque du package collection ???, que nous n'utilisez pas …). Vous modifier les sommets en deux temps – un commentaire pour le signaler eut été utile, couleur (vert) en arrivant sur le sommet, forme et couleur (gris) au retour de l'appel récursif.

Guy Melançon 2012/03/09 20:55


import : from collections import deque

def main(graph) :

   runDFS(graph);

def runDFS(graph):

 see =  graph.getIntegerProperty("see")
 viewSize =  graph.getSizeProperty("viewSize")	
 viewShape = graph.getIntegerProperty("viewShape")
	
 see.setAllNodeValue(0)
 viewSize.setAllNodeValue(tlp.Size(10))
 color = graph.getColorProperty("viewColor")
 color.setAllNodeValue(tlp.Color(255,0,0,125))

 viewShape =  graph.getIntegerProperty("viewShape")	
 viewShape.setAllNodeValue(14)	

 updateVisualization(False);
 dfs(graph.getOneNode(), graph,see,viewSize,viewShape)

def dfs(n, graph,see,viewSize,viewShape):

 see.setNodeValue(n, see.getNodeValue(n) + 1)
 
 ## Noeud deja visité
 if (see.getNodeValue(n) > 1):
 	return;
 
 color = graph.getColorProperty("viewColor");
 color.setNodeValue(n, tlp.Color(0, 255, 0 , 255))
 updateVisualization(False)
 
 for ni in graph.getInOutNodes(n):
 	dfs(ni, graph,see,viewSize,viewShape)
 	
 ## Parcour de l'esemble des fils du noeud courants fini   
 viewShape.setNodeValue(n,20)
 color.setNodeValue(n, tlp.Color(128, 128, 128 , 255))
 viewSize.setNodeValue(n, tlp.Size( 15, 15, 10))
/net/html/perso/melancon/Visual_Analytics_Course/data/pages/berthelot/solution_homework1_exercise2.txt · Last modified: 2012/03/14 15:11 by melancon