La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Structures de données IFT-2000 Abder Alikacem Les graphes Exercices Département dinformatique et de génie logiciel Édition Septembre 2009.

Présentations similaires


Présentation au sujet: "1 Structures de données IFT-2000 Abder Alikacem Les graphes Exercices Département dinformatique et de génie logiciel Édition Septembre 2009."— Transcription de la présentation:

1 1 Structures de données IFT-2000 Abder Alikacem Les graphes Exercices Département dinformatique et de génie logiciel Édition Septembre 2009

2 2 Exercice 1 : le jeu de la lettre qui saute Une suite de mots telle que deux mots consécutifs de cette suite ne différent que dune seule lettre. lionpionpainpaon poix paix pourpouxpeur

3 3 Exercice 1 : le jeu de la lettre qui saute Etant donné un ensemble fini S de mots, écrivez une classe Graphe en C++ qui construit le graphe G = (S,F) défini par : les sommets de G sont les mots de S; il existe un arc (u,v) entre deux mots u,v de S si et seulement si u et v ne différent que dune seule lettre.

4 4 Exercice 2 : Exploration en profondeur dabord Appliquer la méthode dexploration en profondeur dabord au graphe donné ci-dessus en commençant lexploration en

5 5 Exercice 3 : Exploration en profondeur dabord 1. Ecrivez une procédure C++ réalisant une implémentation itérative de lexploration en profondeur dabord. Indication : on utilisera une pile. 2. Modifiez la procédure dexploration en profondeur dabord pour obtenir une procédure qui calcule un arbre recouvrant dun graphe orienté donné.

6 6 Exercice 4 : Composantes connexes 1.Calculez les composantes connexes (resp. fortement connexes) du graphe des diviseurs. 2.Ecrivez une procédure C++ qui calcule les composantes connexes (resp. fortement connexes) dun graphe orienté donné.

7 7 Exercice 5 : Tri topologique 1.Montrez quun graphe peut être trié topologiquement si et seulement sil ne possède pas de cycles. Indication : on pourra faire une récurrence. 2.Ecrivez une procédure C++– basée sur lanalyse précédente – qui teste si un graphe peut être trié topologiquement et qui calcule un tri topologique le cas échéant. Indication : on pourra utiliser un tableau contenant le nombre de prédécesseurs de chaque sommet. 3.Quelle est la complexité de votre algorithme ?

8 8 Exercice 6 : Chemins de coût minimal dans les graphes valués 1.Proposez une manière de représenter les graphes orientés sans boucles valués par liste de successeurs et écrivez la classe Java qui implémente cette représentation. 2.Algorithme de Floyd : Adaptez lalgorithme de Warshall de calcul de la fermeture transitive dun graphe - en vous servant de lalgèbre (min,+) - pour proposer un algorithme de calcul de la matrice contenant les coûts minimaux des chemins allant dun sommet à un autre dans un graphe orienté valué sans boucles.

9 9 Exercice 7 : Points darticulation 1.Calculez lensemble des points darticulation du graphe des diviseurs. 2.Ecrivez une procédure C++ qui calcule lensemble des points darticulation dun graphe (orienté) donné.

10 10 Exercice 8 : Graphes Eulériens Un graphe est dit Eulérien si on peut dessiner lensemble de ses arcs sans lever le crayon Montrez quun graphe connexe est Eulérien si et seulement si le nombre de ses sommets de degré impair est 0 ou 2. Proposez un algorithme de recherche dune chaîne Eulérienne (i.e. dun parcours de graphe sans lever le crayon) au sein dun graphe Eulérien. Ecrivez la procédure C++ correspondante.


Télécharger ppt "1 Structures de données IFT-2000 Abder Alikacem Les graphes Exercices Département dinformatique et de génie logiciel Édition Septembre 2009."

Présentations similaires


Annonces Google