ALGORITHME TABLEAUX
ALGORITHME TABLEAUX Mr KHATORY 2 Ensemble de données du même type Exemple de problème : Saisir une suite de nombres, puis afficher cette suite après avoir divisé tous les nombres par la valeur maximale de la suite 132 0 8100 -641 841 8902 57 -21 Remarque : appeler cette variable TabVal plutôt que Val Tableaux val 132 Val
Cours Algorithmique: Tableaux - Ex-Machina
Tableaux et Les Boucles •Les boucles sont extrêmement utiles pour les algorithmes associés aux tableaux •En effet, de nombreux algorithmes relatifs au tableau nécessitent de parcourir les éléments du tableau dans un certain ordre •Le traitement de chacun des éléments étant souvent le
Cours La structure de donn ees tableau et quelques algorithmes
Cours 4 : les tableaux, recheche et tri 2 Tableaux: d eclaration/initilisation Tableau= collection de donn ees homog enes, accessibles par un indice entier D eclaration d’un type tableau type = tableau de Exemple : constante N = 5 type polynome = tableau de N r e els On peut alors d eclarer une variable de type
Algorithmique Structures de données : Les tableaux
Structures séquentielles : les tableaux 4 de 1 Structure de donnée séquentielle (tableau) Enanglais:array,vector Définition Untableau estunestructurededonnéeT quipermetdestocker
Cours 4 Les tableaux et les boucles - IGM
Plan du cours 4 – Tableaux et boucles Le nombre d'utilisations d'un mot dans un texte • Écrivez un algorithme TrouveMot qui prend en entrée une chaîne de
Fiche de révisions - Algorithmique
Tableau : oui, on peut définir des tableaux, des tableaux d’entieҸs, des taлleaux de Ҹéels Pas besoin de vous faiҸe un dessin, м’est un taлleau On peut même définir des tableaux de tableaux et ainsi de suite On paҸle de taлleau à ܙ, ܚ, ܛ, , N dimensions
Cours d’Algorithmique 1er Semestre (Fred´ eric Koriche)´ IUT
Cours d’Algorithmique 1er Semestre (Fred´ eric Koriche)´ IUT Informatique de Lens Tableaux Statiques Unidimensionnels Un tableau (statique unidimensionnel) est une sequence de donn´ ees du m´ eme type accessibles par leurˆ index Il est defini par:´ I sonnom, I letypede ses el´ ements, et´ I satailleou le nombre de ses el´ ements ´
Christine Solnon 2007-2008
5 Les tableaux 33 6 Etude de quelques algorithmes sur les tableaux 35 3 Dans le contexte de ce cours, un algorithme est conçu pour être exécuté par un
COURS ALGORITHMIQUE ET PROGRAMMATION INFORMATIQUE
• Cours et exercices corrigés d’algorithmique- J Julliand Ed Vuibert Fev 2010 • Algorthmique méthodes et modèles , P Lignelet Ed Masson 1988 • Cours algorithme Cécile Balkanski, Nelly Bensimon, Gérard Ligozat IUT Orsay MAP - UNS 2
[PDF] algorithme racine carrée entière
[PDF] algorithme de babylone
[PDF] algorithme somme des n premiers entiers pairs
[PDF] programme ti 82 jeux
[PDF] évaluation digestion cm1 eklablog
[PDF] schéma digestion cm1 compléter
[PDF] évaluation sur l appareil digestif cm1
[PDF] la digestion cm1 lutin bazar
[PDF] séquence la digestion cm1
[PDF] evaluation digestion 5eme
[PDF] svt 5eme digestion evaluation exercices
[PDF] système digestif cm1
[PDF] schéma de l'appareil reproducteur de la femme ? compléter
[PDF] appareil reproducteur de l'homme 4eme
1 de 1
Algorithmique
Structures de données : Les
tableauxFlorent Hivert
Mél :Florent.Hivert@lri.fr
Page personnelle :http://www.lri.fr/˜hivert
2 de 1
Algorithmes et structures de données
La plupart des bons algorithmes fonctionnent grâce à une méthode astucieuse pour organiser les données. On distingue quatre grandes classes de structures de données :Les structures de données séquentielles (tableaux); Les structures de données linéaires (liste chaînées);Les arbres;
Les graphes.
Structures séquentielles : les tableaux
3 de 1Structures
séquentielles : les tableauxStructures séquentielles : les tableaux
4 de 1Structure de donnée séquentielle (tableau)
En anglais : array, vector.Définition
Untableauest une structure de donnée T qui permet de stocker un certain nombre d"éléments T[i]repérés par un index i. Lestableaux vérifient généralement les propriétés suivantes :tous les éléments ont le même type de base;
le nombre d"éléments stockés est fixé; l"accès et la modification de l"élément numéro i est en temps constant(1), indépendant de i et du nombre d"éléments dans le tableau.Structures séquentielles : les tableaux
5 de 1Tableau en C
On suppose déclaré un typeelempour les éléments.Espace mémoire nécessaire au stockage d"un élément exprimé
en mots mémoire (octets en général) :sizeof(elem).Retenirdéfinition statique :elem t[taille];définition dynamique en deux temps (déclaration, allocation) :
#includeAddr(t[i]) =Addr(t[0]) +sizeof(elem)i
Structures séquentielles : les tableaux
5 de 1Tableau en C
On suppose déclaré un typeelempour les éléments.Espace mémoire nécessaire au stockage d"un élément exprimé
en mots mémoire (octets en général) :sizeof(elem).Retenirdéfinition statique :elem t[taille];définition dynamique en deux temps (déclaration, allocation) :
#includeAddr(t[i]) =Addr(t[0]) +sizeof(elem)i
Structures séquentielles : les tableaux
5 de 1Tableau en C
On suppose déclaré un typeelempour les éléments.Espace mémoire nécessaire au stockage d"un élément exprimé
en mots mémoire (octets en général) :sizeof(elem).Retenirdéfinition statique :elem t[taille];définition dynamique en deux temps (déclaration, allocation) :
#includeAddr(t[i]) =Addr(t[0]) +sizeof(elem)i
Structures séquentielles : les tableaux
5 de 1Tableau en C
On suppose déclaré un typeelempour les éléments.Espace mémoire nécessaire au stockage d"un élément exprimé
en mots mémoire (octets en général) :sizeof(elem).Retenirdéfinition statique :elem t[taille];définition dynamique en deux temps (déclaration, allocation) :
#includeAddr(t[i]) =Addr(t[0]) +sizeof(elem)i
Structures séquentielles : les tableaux
6 de 1Opérations de base (1)
Hypothèses :tableau de taille max_taille alloué éléments 0iStructures séquentielles : les tableaux
7 de 1Opérations de base (2)
Hypothèses :tableau de taille max_taille alloué éléments 0iStructures séquentielles : les tableaux
8 de 1Opérations de base (3)
Hypothèses :tableau de taille max_taille alloué éléments 0i9 de 1Algorithmes de base
Hypothèses :tableau de taille taille alloué et initialiséRetenir (Algorithmes de base)
accumulation d"une opération sur les éléments du tableaux (par exemple : somme, produit, maximum, etc.) :(taille) nombre d"opération.cas particulier; comptage du nombre d"éléments qui vérifie unecertaine condition :(taille)tests de la conditionrecherche d"une occurence, d"un élement qui vérifie une
certaine condition : O(taille)tests de la conditionStructures séquentielles : les tableaux
10 de 1Problème de la taille maximum
On essaye d"insérer un élément dans un tableau où taille=max_tailleIl n"y a plus de place disponible.
Comportements possibles :Erreur (arrêt du programme, exception) Ré-allocation du tableau avec recopie, coût :(taille)Structures séquentielles : les tableaux
10 de 1Problème de la taille maximum
On essaye d"insérer un élément dans un tableau où taille=max_tailleIl n"y a plus de place disponible.
Comportements possibles :Erreur (arrêt du programme, exception) Ré-allocation du tableau avec recopie, coût :(taille)Structures séquentielles : les tableaux
11 de 1Ré-allocation (2)
On ajoute 1 par 1néléments. On suppose que l"on réalloue une case supplémentaire à chaque débordement. Coût (nombre de copies d"éléments) : n+n1X i=1i=n(n+1)2 2(n2) Remarque : si on alloue des blocs de tailleb, en notantk=dnb e: n+k1X i=1bi=n+bk(k1)2 (bk)2b =n2b 2(n2) La vitesse est divisée parbmais lacomplexité reste la même.Structures séquentielles : les tableaux
11 de 1Ré-allocation (2)
On ajoute 1 par 1néléments. On suppose que l"on réalloue une case supplémentaire à chaque débordement. Coût (nombre de copies d"éléments) : n+n1X i=1i=n(n+1)22(n2)Remarque : si on alloue des blocs de tailleb, en notantk=dnb
e: n+k1X i=1bi=n+bk(k1)2 (bk)2b =n2b 2(n2) La vitesse est divisée parbmais lacomplexité reste la même.Structures séquentielles : les tableaux
12 de 1Ré-allocation par doublement de taille
Retenir (Solution au problème de la réallocation) À chaque débordement on ré-allouedKmax_tailleeoù K>1estune constante fixée (par exemple K=2).Si l"on veut à la fin un tableaux denéléments, le nombre de copies
d"éléments (en comptant la copie dans le tableau) est environ C=mX i=1K i=Km+11K12(Km) oùmest le nombre de ré-allocations c"est-à-dire le plus petit entier tel queKmn, soitm=dlogK(n)e. On a donc nKmStructures séquentielles : les tableaux
13 de 1Nombre moyen de copies
Selon la valeur deK, la constante de complexité varie de manière importante : Le nombre de recopies d"éléments est approximativement C=mX i=1K i=Km+11K1KK1nQuelques valeurs :
K1:01 1:1 1:2 1:5 2 3 4 5 10K
K1101 11 6 3 2 1:5 1:33 1:25 1:11
Interprétation : Si l"on augmente la taille de 10% à chaque étape, chaque nombre sera recopié en moyenne 11 fois. Si l"on double la taille à chaque étape, chaque nombre sera en moyenne recopié deux fois.Structures séquentielles : les tableaux
13 de 1Nombre moyen de copies
Selon la valeur deK, la constante de complexité varie de manière importante : Le nombre de recopies d"éléments est approximativement C=mX i=1K i=Km+11K1KK1nQuelques valeurs :K1:01 1:1 1:2 1:5 2 3 4 5 10K
K1101 11 6 3 2 1:5 1:33 1:25 1:11
Interprétation : Si l"on augmente la taille de 10% à chaque étape, chaque nombre sera recopié en moyenne 11 fois. Si l"on double la taille à chaque étape, chaque nombre sera en moyenne recopié deux fois.Structures séquentielles : les tableaux
14 de 1Bilan
Retenir (Nombre de copies)
Dans un tableau de taille n, coût de l"ajout d"un élémentdans le piredes cas :Coût en tempsn;Coût en espace(K1)n:
En moyenne, sur un grand nombre d"éléments ajoutés :Coût en tempsKK1;Coût en espaceK:
On dit que l"algorithme travaille entemps constant amortis (Constant Amortized Time (CAT) en anglais).Structures séquentielles : les tableaux
15 de 1Compromis Espace/Temps
QuandKaugmente, la vitesse augmente mais la place mémoire gaspillée ((K1)n) augmente aussi. Le choix de la valeur deK dépend donc du besoin de vitesse par rapport au coût de la mémoire.Retenir C"est une situation très classique : dans de nombreux problèmes, ilest possible d"aller plus vite en utilisant plus de mémoire.Exemple : on évite de faire plusieurs fois les même calculs en
stockant le résultat.Structures séquentielles : les tableaux
15 de 1Compromis Espace/Temps
QuandKaugmente, la vitesse augmente mais la place mémoire gaspillée ((K1)n) augmente aussi. Le choix de la valeur deK dépend donc du besoin de vitesse par rapport au coût de la mémoire.Retenir C"est une situation très classique : dans de nombreux problèmes, ilest possible d"aller plus vite en utilisant plus de mémoire.Exemple : on évite de faire plusieurs fois les même calculs en
stockant le résultat.Structures séquentielles : les tableaux
15 de 1Compromis Espace/Temps
QuandKaugmente, la vitesse augmente mais la place mémoire gaspillée ((K1)n) augmente aussi. Le choix de la valeur deK dépend donc du besoin de vitesse par rapport au coût de la mémoire.Retenir C"est une situation très classique : dans de nombreux problèmes, ilest possible d"aller plus vite en utilisant plus de mémoire.Exemple : on évite de faire plusieurs fois les même calculs en
stockant le résultat.