Les arbres généraux.

Slides:



Advertisements
Présentations similaires
Primary French Presentation 2 Saying How You Are.
Advertisements

KS2 Yr6 French – Lesson 80 Places in town.
Structures de données et algorithmes – C5 Maria-Iuliana Dascalu, PhD
Les arbres binaires.
Piles Premier arrivé, dernier servi: LIFO (Last In, First Out) Liste à usage restreint: Enlève et insère un élément seulement à un bout de la liste. Notation:
Arbres binaires complets
Structures de données IFT-2000
Strategy 1 Let them draw. Example from a French lesson Lesson objectives To show I can skim scan and close read a text Seal Objectives To listen carefully.
French 101 Important Verbs. The most important French verbs – avoir (to have), être (to be), and faire (to do/make) They are used in some of the ways.
Liste Une liste est une séquence d’éléments. Concept important: Chaque élément possède une position dans la liste. Notation: De quelles opérations a-t-on.
Mots du jour Pauvre Riche L’homme Le Femme Pannier vagabond.
Celebrity Photo Album by M. Rocque. La Description You are going to see several celebrities. For each celebrity say one or two adjectives to describe.
Dictionnaire On veut une structure permettant d’insérer, d’enlever et de rechercher des enregistrements. Concepts importants: Clef de recherche: Décrit.
WILF: TO BE ABLE TO GIVE AN OPINION FOR LEVEL 3
Clique Percolation Method (CPM)
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
IP Multicast Text available on
From Implementing Cisco IP Routing (ROUTE) Foundation Learning Guide by Diane Teare, Bob Vachon and Rick Graziani ( ) Copyright © 2015 Cisco Systems,
INSERT THE TITLE OF YOUR PRESENTATION HERE FREE PPT TEMPLATES ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts Your Text Here!
1MPES2 Multiply Polynomials
WALT: Recognise the words for brothers and sisters in French
Leçon 6: Une Invitation Unité 7.
Notes for teacher. You can just use slides 2-5 if you wish. If you want to do the practical activity (slides 6-8) you will need to: print off Slide 6.
Grab an orange textbook
Objectif: Aujourd’hui nous allons élargir nos connaissances culturelles All will have learnt about French cultural habits at this time of the year and.
The Passé Composé Tense
L’objectif To use prepositions to describe my home To use comparatives
Nous allons…. Many magazines include “Look pages” where designers put together an outfit for their perspective clients based on an occasion or trend. You.
Year 7 French Homework Mme Janickyj
Qu’est-ce qu’ils aiment faire?
l y a which we have already learned means “there is/are l y a which we have already learned means “there is/are.” When we put a measure of time.
JC2 - LE PASSE COMPOSE with ÊTRE
ÊTRE To be (ou: n’être pas!).
PRODUCTION LOGISTICS MANAGEMENT. I l c p INTRODUCTION PRODUCTION LOGISTIC CONCLUSION Te sit nusquam mediocrem. Fastidii dissentias nam an, simul deleniti.
La chouette qui avait peur du noir Épisode 8 : le chat
© 2004 Prentice-Hall, Inc.Chap 4-1 Basic Business Statistics (9 th Edition) Chapter 4 Basic Probability.
F RIENDS AND FRIENDSHIP Project by: POPA BIANCA IONELA.
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts INSERT THE TITLE OF YOUR PRESENTATION HERE FREE PPT TEMPLATES.
in French and in English
Quel type de compétences peut-on apprendre en participant à des activités de robotique? Recherche et raisonnement déductif.
Bienvenue aux eleves de National 5
Qu’est-ce que tu as dans ta trousse?
Efficacité des algorithmes
Quelle est la date aujourd’hui?
Nous allons apprendre…
Qu’est-ce que tu as dans ta trousse?
Les formes et les couleurs
Test your listening skills!
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
Connaissez-vous la France ?
C’est quel numéro? Count the numbers with pupils.
Le pluriel des articles, noms et adjectifs
Quelle est la date aujourd’hui?
Connaissez-vous la France ?
Wednesday December 13th, 2017 Module 2/Lesson 5 Parents and Education.
Manometer lower pressure higher pressure P1P1 PaPa height 750 mm Hg 130 mm higher pressure 880 mm Hg P a = h = +- lower pressure 620 mm Hg.
WRITING A PROS AND CONS ESSAY. Instructions 1. Begin your essay by introducing your topic Explaining that you are exploring the advantages and disadvantages.
What’s the weather like?
Progress check Learning:
The Passé Composé Tense
Les formes et les couleurs
Paul Eluard Dans Paris.
Arbre binaire.
Les formes et les couleurs
1 Sensitivity Analysis Introduction to Sensitivity Analysis Introduction to Sensitivity Analysis Graphical Sensitivity Analysis Graphical Sensitivity Analysis.
Le Passé Composé (Perfect Tense)
Les Mots Intérrogatifs
Lequel The Last Part.
L’orchestre des animaux
Over Sampling methods IMBLEARN Package Realised by : Rida benbouziane.
Transcription de la présentation:

Les arbres généraux

Nœud pour arbres généraux template <class Elem> class GTNode { public: GTNode(const Elem&); ~GTNode(); Elem value(); bool isLeaf(); GTNode* parent(); GTNode* leftmost_child(); GTNode* right_sibling(); void setValue(Elem&); void insert_first(GTNode<Elem>* n); void insert_next(GTNode<Elem>* n); void remove_first(); void remove_next(); };

Parcours d’un arbre général template <class Elem> void GenTree<Elem>:: printhelp(GTNode<Elem>* subroot) { if (subroot->isLeaf()) cout << "Leaf: "; else cout << "Internal: "; cout << subroot->value() << "\n"; for (GTNode<Elem>* temp = subroot->leftmost_child(); temp != NULL; temp = temp->right_sibling()) printhelp(temp); } Traversal: RACDEBF

Liste des enfants The next several slides show various possible implementations for general trees. A key gauge for the quality of these representations is how well they perform the key tasks of left-child, right-sibling, and parent. This representation is poor for finding the right sibling of a node.

Liste des enfants Problème pour trouver le frère de droite The next several slides show various possible implementations for general trees. A key gauge for the quality of these representations is how well they perform the key tasks of left-child, right-sibling, and parent. This representation is poor for finding the right sibling of a node.

Implémentation avec tableau (1) Note: Two trees share the same array.

Implémentation avec tableau (2) Joindre deux arbres Here, the two trees are joined together. Few links need to be adjusted in the implementation to support this join action.

Implémentation avec pointeur (1) Essentially an array-based list of children.

Implémentation avec pointeur (2) Essentially a linked list of children.

Nœud pour arbres généraux template <class Elem> class GTNode { private: Elem element; GTNode<Elem>* rent; // Parent GTNode<Elem>* leftchild; // Premier fils GTNode<Elem>* rightsib; // Frère de droite

Nœud pour arbres généraux public: GTNode(const Elem&); // Constructeur GTNode(const Elem&, GTNode<Elem>*, GTNode<Elem>*, GTNode<Elem>*); ~GTNode(); // Destructeur Elem value(); // Retourne la valeur du noeud bool isLeaf(); // VRAI si le nœud est une feuille GTNode* parent(); // Retourne le parent GTNode* leftmost_child(); // Retourne le premier enfant GTNode* right_sibling(); // Retourne le frère de droite void setValue(Elem&); // Assigne une valeur au noeud void insert_first(GTNode<Elem>* n); // insère comme premier enfant void insert_next(GTNode<Elem>* n); // insère comme frère de droite void remove_first(); // Enlève le premier enfant void remove_next(); // Enlève le frère de droite };

Implémentation template <class Elem> GTNode<Elem>::GTNode(const Elem& value) { rent = leftchild = rightsib = NULL; element = value; } GTNode<Elem>::GTNode(const Elem& value, GTNode<Elem>* par, GTNode<Elem>* leftc, GTNode<Elem>* rights) { rent = par; leftchild = leftc; rightsib = rights;

Implémentation template <class Elem> GTNode<Elem>::~GTNode() { } Elem GTNode<Elem>::value() { return element; } bool GTNode<Elem>::isLeaf() { return leftchild == NULL; } GTNode<Elem>* GTNode<Elem>::parent() { return rent; } GTNode<Elem>* GTNode<Elem>::leftmost_child() { return leftchild; }

Implémentation template <class Elem> GTNode<Elem>* GTNode<Elem>::right_sibling() { return rightsib; } void GTNode<Elem>::setValue(Elem& value) { element = value; } void GTNode<Elem>::insert_first(GTNode<Elem>* n) { n->rightsib = leftchild; n->rent = this; leftchild = n; }

Implémentation template <class Elem> void GTNode<Elem>::insert_next(GTNode<Elem>* n) { n->rightsib = rightsib; n->rent = rent; rightsib = n; } void GTNode<Elem>::remove_first() { if (leftchild == NULL) return; GTNode<Elem>* temp = leftchild; leftchild = leftchild->rightsib; delete temp; // BAD -- lose all its subtree!

Implémentation template <class Elem> void GTNode<Elem>::remove_next() { if (rightsib == NULL) return; GTNode<Elem>* temp = rightsib; rightsib = rightsib->rightsib; delete temp; // BAD -- lose all its subtree! }

Implémentation séquentielle (1) On énumère les nœuds dans l’ordre qu’ils apparaissent lors d’un recherche en préordre. Sauve de l’espace mais ne permet que des accès séquentielles. Doit préserver la structure de l’arbre. Exemple: Pour les arbres binaires, on utilise un symbole pour indiquer les liens nuls: AB/D//CEG///FH//I// This example refers to the tree of Figure 6.16.

Implémentation séquentielle (2) Exemple: Pour les arbres binaires, on utilise un symbole pour indiquer les liens nuls: AB/D//CEG///FH//I// This example refers to the tree of Figure 6.16.

Implémentation séquentielle (3) Exemple: Arbres binaires: indiquer si les nœuds sont internes ou des feuilles. A’B’/DC’E’G/F’HI The first example includes two “/” marks because the example tree is not full. Cost is one additional bit per node. The second example refers to the general tree of Figure 6.3.

Implémentation séquentielle (3) Exemple: Arbres généraux: indiquer la fin de chaque sous arbre: RAC)D)E))BF))) Les parenthèses indiquent la fin d’une liste d’enfants The first example includes two “/” marks because the example tree is not full. Cost is one additional bit per node. The second example refers to the general tree of Figure 6.3.