Soit F un parcours en largeur à partir de s d'un graphe G Pour chaque sommet v ≠ s, il existe un premier élément v' de F tel que (v', v)
Previous PDF | Next PDF |
[PDF] Plan Langage Java • Exceptions Algorithmique • Implantations - IRIF
Soit F un parcours en largeur à partir de s d'un graphe G Pour chaque sommet v ≠ s, il existe un premier élément v' de F tel que (v', v)
[PDF] Représentation des graphes et Programmation
un graphe non orienté est dit connexe si on peut aller de tout le parcours en profondeur et le parcours en largeur Graphe : programme Java La classe
[PDF] Parcours dun graphe
1 avr 2013 · Parcours en largeur : principe de l'algorithme Vous devez parcourir toutes les pages d'un site web Les pages sont les sommets d'un graphe
[PDF] Plan Langage Java • Exceptions Algorithmique • Implantations dun
Soit F un parcours en largeur à partir de s d'un graphe G Pour chaque sommet v ≠ s, il existe un premier élément v' de F tel que (v', v)
[PDF] Chapitre 3 : Exploration dun graphe - Algorithmique de - LIPN
1 Exploration d'un graphe / Parcours 2 Parcours en largeur (BFS) Partition des sommets en couches Principe de l'algorithme Implémentation Complexité
[PDF] IR2 - Algorithmique des graphes TP2 - Parcours en profondeur
en profondeur et en largeur (le parcours en largeur sur les graphes est identique à celui sur les arbres) par un ensemble d'entiers (utiliser la classe java util
[PDF] INF431 Algorithmes et Programmation: du séquentiel au - IGM
biblioth`eques déj`a programmées en Java, bénéficiant des types génériques Proposition 6 2 3 Soit L un parcours en profondeur d'abord d'un graphe orienté
[PDF] Parcours de graphes - Projet Cristal
Graphes 4 Représentation des graphes 5 Parcours en profondeur 6 (En fait l'initialisation de m est inutile, car c'est l'option par défaut en Java) 16
[PDF] parcours lecture acces pas cher
[PDF] parcours lecture pdf
[PDF] parcours lecture le petit chaperon rouge
[PDF] parcours lecture acces avis
[PDF] parcours lecture occasion
[PDF] coexistence pacifique cours
[PDF] archives militaire en ligne
[PDF] livret militaire en ligne
[PDF] la coexistence pacifique de 1953 ? 1962 pdf
[PDF] cornière catnic
[PDF] corniere galva pour brique
[PDF] corniere pour linteau brique
[PDF] cornière support briques
[PDF] cornière pour linteau de brique
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8 Plan
Langage Java
• ExceptionsAlgorithmique
• Implantations d'un graphe • Parcours de graphe X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Exceptions
Une exception est un objet de la
classe java.lang.Exception (ou de l'une de ses sous-classes) class ExceptionPile extends ExceptionExceptionPile(String m)
System.out.println(m)
Utilisation :
int valeur() throws ExceptionPile if (estVide()) throw new ExceptionPile("Pile vide"); return contenu[hauteur-1]; X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Exceptions
Effets de la levée d'exception, par
"throws" (1) création d'un objet de la classeExceptionPile
(2) sortie de la méthode en cours (3) recherche dans l'arbre d'appel d'un bloc qui capte l'exceptionPile p = new Pile();
try// Exécution contrôléeSystem.out.println(p.valeur());
catch(ExceptionPile e)System.out.println(m)
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Exceptions
Le bloc try lance l'exécution.
Si une erreur se produit pendant
cette exécution, l'éxécution se poursuit dans un bloc catch, avec comme argument e l'objet créé lors de la levée d'exception.Pile p = new Pile();
try// Exécution contrôléeSystem.out.println(p.valeur());
catch(ExceptionPile e)System.out.println(m)
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Exceptions
On peut avoir 0, 1 ou plusieurs
blocs catch, qui se comportent comme un case dans un bloc switch. try// Exécution contrôlée readFromFile("monFichier"); catch(FilelNotFoundException e)System.out.println("Pas trouvé !")
catch(IOException e)System.out.println("Erreur d'entrée-
sortie"); catch(Exception e)// Autres erreursSystem.out.println("Erreur");
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Finally
On peut rajouter un bloc finally,
qui est exécuté que l'exception soit levée ou pas, même en cas de return, avant que le programme ne quitte le try try// Exécution contrôlée readFromFile("monFichier"); catch { ... } finally// nettoyageRefermer les fichiers, les connections
Internet, etc.
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Matrice d'adjacence
M i,j = {010100010010001001010001001000100 si (i, j) G
1 si (i, j) G1
2 34class GrapheMat
int[][] m;// Matrice d'adjacence int n; // nombre de sommetsGrapheMat(int n) {
this.n = n; m = new int[n][n]; X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Exemple d'utilisation
Thm Soit M la matrice d'adjacence
d'un graphe G. Pour tout n ³ 0, Mi,jest égal au nombre de chemins de longueur n de i à j.n n true s'il existe un chemin de longueur n de i à j false sinon class GrapheMat boolean[][] m;// Matrice d'adjacence int n; // nombre de sommets }Remarque Si M est définie comme matrice booléenne, on a M i,j = { X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Matrice d'incidence
1si i est l'origine de a
M i,a = {-1si i est l'extrémité de a0sinon
Exercice : montrer que M est
unimodulaire, i. e. le déterminant de toute sous-matrice carrée de M vaut 0, -1 ou 1.(Graphe sans boucle) 1 0 1 0-1 -1 1 0 0 00 0 0-1 1
0-1-1 1 012
3 4123
45
1 2 3 4 5
1 2 3 4 X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Par récurrence sur la taille n de la
matrice carrée extraite. • Clair pour n = 1 • On développe le calcul du déterminant D n par rapport à une colonne. - Si une colonne est nulle, Dn = 0 - Si une colonne contient un seul coefficient non nul, 1 ou -1, D n = ± Dn-1- Si toutes les colonnes ont deux coefficients non nuls (1 et -1), la somme des colonnes est nulle et D n = 0Solution X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Liste de successeurs
1 : 24
2 : 4 3 : 34 : 3public class GrapheListe
Liste[] succ;
int n;GrapheListe(int n)
this.n = n; succ = new Liste[n]; }1 2 3 4 X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Comparaison des tailles
Graphe à n sommets et m arcs.
Matrice d'adjacence : n2
Matrice d'incidence : nm
Liste de successeurs : n + m
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8Parcours d'un graphe connexe
non orienté à partir d'un sommet sC'est une suite S de sommets t.q.
(1) s est le premier sommet de S (2) Chaque sommet apparaît une fois et une seule dans S (3) Tout sommet sauf la racine est adjacent à un sommet placé avant lui dans la liste.Exemple : 5 3 6 2 1 4 7 est un parcours issu de 51 234 5 67
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8
On obtient une arborescence de
Trémeaux.
Ici, en partant
de s = 1 :Complexité (n sommets, m arêtes)
O(n + m) avec des listes de
successeurs, O(n2) avec des
matrices d'incidenceParcours en profondeurInitialisation : S = (s)
Si S = (s
1 , ..., sn-1), on prend
pour s n un voisin de sn-1, ou, à défaut, un voisin de s n-2, ou, à défaut, un voisin de s n-3, etc.1 235 6 74
X, Petite classe 5X, Petite classe 5X, Petite classe 8X, Petite classe 8 public class Graphe