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

Examen intra #1 Types abstraits, liste, pile, file et file prioritaire. Les graphes Récursivité.

Présentations similaires


Présentation au sujet: "Examen intra #1 Types abstraits, liste, pile, file et file prioritaire. Les graphes Récursivité."— Transcription de la présentation:

1 Examen intra #1 Types abstraits, liste, pile, file et file prioritaire. Les graphes Récursivité

2 Examen intra #1 Types abstraits, liste, pile, file et file prioritaire: la meilleure préparation est : d’être à jour dans cette matière d’avoir fait les laboratoires 1 à 4

3 Graphes. Les laboratoires 5 et 6 sont une très bonne préparation.
Examen intra #1 Graphes. Les laboratoires 5 et 6 sont une très bonne préparation. Exemples de questions d’examens antérieurs sur les graphes

4 Hiver 2004 Tri topologique? Composantes connexes? Composantes fortement connexes? Plus court chemin entre A et H?

5 En utilisant des opérations ensemblistes, écrire la fonction:
Hiver 2001 Description d’un graphe sous forme d’ensembles de sommets et d'arcs . Graphe = (NOEUDS, ARC) NOEUDS = {A, B, C, D, E, F, G, H, I}, l’ensemble des sommets ARCS = {AC, AD, BA, BB, BF, CE, CG, DA, ED, HE, HG}, l’ensemble des arcs En utilisant des opérations ensemblistes, écrire la fonction: Bool sousGraphe (Graphe g1, Graphe g2, int *err); Pour vérifier si le graphe g1 est un sous-graphe du graphe g2

6 Automne 2003 Écrire le modèle d’implantation Écrire Graphe init(int *err); Écrire Graphe detruireGraphe(Graphe g, int *err);

7 Corrigé: le modèle d’implantation
typedef struct arete Arete; typedef struct sommet Sommet; /* Structure pour la liste d'adjacence */ struct arete { Sommet *smtAdj; /* pointeur sur le sommet adjacent */ Arete *areteSuivante; /* Pointeur sur la prochaine arte */ }; /* Structure pour représenter un sommet du graphe */ struct sommet int etiquette; /* étiquette du Sommet */ int etat; /* état pour le parcours. 1 : Prêt , 2 : Attente , 3 : Traité */ Sommet *smtSuivant; /* pointeur sur le prochain sommet dans la liste de sommets du Graphe */ Arete *lstArete; /* la liste d'adjacence du Sommet */ } ; /* Structure pour représenter le graphe */ typedef struct Sommet *lstSommets; /* la liste des sommets du Graphe */ } Graphe ;

8 typedef int Graphe[NbNoeuds][ NbNoeuds];
Hiver 2004 typedef int Graphe[NbNoeuds][ NbNoeuds]; Les sommets sont identifiés par des entiers de 0 à NbNoeuds-1 Écrire la fonction suivante : void analyseGraphe(Graphe gr, int puits[], int *nbPuits, int sources[], int *nbSources) ; Pour déterminer: Les sommets puits du graphe: int puits[] de cardinalité *nbPuits Les sommets sources du graphe: int sources[] de cardinalité *nbSources

9 Examen Hiver 2003 On cherche à déterminer dans quel ordre on enfiler ses vêtements pour s'habiller de la tête aux pieds. Sachant que : Il faut d’abord enfiler son caleçon pour mettre ensuite ses chaussures, son pantalon et sa ceinture. Pour mettre ses chaussures il faut avoir mis ses chaussettes et son pantalon. Pour mettre sa ceinture il faut avoir enfile sa chemise. Pour mettre sa veste il faut avoir enfilé sa cravate et sa ceinture. Pour mettre sa cravate il faut avoir mis sa chemise. On peut mettre sa montre n'importe quand!

10 Corrigé Graphe de dépendance slip chaussettes pantalon chaussures
chemise cravate veste ceinture montre ch ettes slip pant. montre se ce cr ve res Solution: trier topologiquement le graphe de dépendance

11 Algorithmique des graphes
Rappel: laboratoire #6 Graphe fermetureGraphe(Graphe g, int *err); TypeEl * triTopologique ( Graphe g, int *err); Graphe composanteConnexe ( Graphe g, TypeEl s, int *err); BOOL isConnexe(Graphe g, int * err);

12 Rappel sur la récursivité
Voir les nombreux exercices corrigés dans le semainier, semaine4.


Télécharger ppt "Examen intra #1 Types abstraits, liste, pile, file et file prioritaire. Les graphes Récursivité."

Présentations similaires


Annonces Google