Algorithmes et structures de données 3ème cours Patrick Reuter

Slides:



Advertisements
Présentations similaires
² = 8,16 p
Advertisements

Algorithmes et structures de données (avancées) Cours 1+2
Initiation à la programmation et algorithmique cours 2
Algorithmes et structures de données avancées Cours 4
Algorithmes et structures de données 9ème cours Patrick Reuter maître de conférences
Algorithmes et structures de données avancées 6ème cours Patrick Reuter
Algorithmes et structures de données avancées 5ème cours Patrick Reuter
Algorithmes et structures de données avancées Cours 6 Patrick Reuter
Conception de Site Webs dynamiques Cours 5
Algorithmes et structures de données 7ème cours
Algorithmes et structures de données
Patrick Reuter maître de conférences
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 3
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 7
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données Cours 1 Patrick Reuter
Algorithmes et structures de données 4ème cours
Algorithmes et structures de données 5ème cours
C++ 6ème cours Patrick Reuter maître de conférences
Algorithmes et structures de données Cours 9 Patrick Reuter
Algorithmes et structures de données avancées Cours 1+2+3
Algorithmes et structures de données Cours 2
? ? En mémoire vive : I NB ALGORITHME EXERCICE 4 ETAPE 2 DEBUT
BUT DE LALGORITHME Afficher la table de multiplication dune valeur saisie au clavier (valeur comprise entre 1 et 9). Gérer lerreur de saisie.
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Sayada le 03 Mars 2009 Réalisé par : Mr. SOUISSI Chaouki
Les Structures de contrôles itératives
5. Les structures répétitives
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
1)Boucle for 2)Boucle while
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Dérécursivation Dérécursiver, c’est transformer un algorithme récursif en un algorithme équivalent ne contenant pas d’appels récursifs. Récursivité terminale.
Quelques algorithmes sur calculatrices
Structures de contrôle de l’exécution
Les structures de contrôle conditionnelles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
Répéter dans un programme avec une Instruction itérative
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Algorithmique Les structures Rappel L'enchaînement séquentiel
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Les structures répétitives en PHP Réfs : manuel p 317.
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Un survol du language C.
Structures de contrôle
Cours n° 3 Traitements en Java
Cours LCS N°4 Présenté par Mr: LALLALI
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Initiation à l’Algorithmique
Les structures de contrôle
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Simulation de lectures d’algorithmes
Module algorithmique et programmation
PRO-1027 Programmation Scientifique en C
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Algorithmique Algorithmique  Pascal
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Les Instructions Itératives (Les Boucles)
Les ventilateurs Etude de cas n°1 1 : Observations - Comparaisons
Transcription de la présentation:

Algorithmes et structures de données 3ème cours Patrick Reuter

Ingrédients dalgorithmes Affectation Condition/Comparaison Appel de fonction Structure de contrôle –Branchements conditionnels (multiples) –Boucles Bloc dinstruction

Ajourdhui Sondage Organisation de la mémoire Types de bases

Sondage o Compteur := 8 ; o Nom := "Patrick"; o 7+3 := 10 ; o resultat := 20*5 ; o 20 := c ; o score := score + 10; o highscore := score;

Sondage o Compteur := 8 ; o Nom := "Patrick"; o 7+3 := 10 ; o resultat := 20*5 ; o 20 := c ; o score := score + 10; o highscore := score;

Sondage o Compteur := 8 ; o Nom := "Patrick"; o 7+3 := 10 ; o resultat := 20*5 ; o 20 := c ; o score := score + 10; o highscore := score; BON : 16 MOYEN : 0 FAUX : 20

Sondage BOUCLE

Ingrédients dalgorithmes Structure de contrôle –Boucle TANT QUE FAIRE FIN TANT QUE ou FAIRE TANT QUE

Sondage Bloc dinstruction à répéter : writeln("Jadore les lundi"); i := i + 1;

Bloc dinstruction Bloc dinstruction à répéter : (toujours dans begin end sil y a plusieurs) begin writeln("Jadore les lundi"); i := i + 1; end

Boucle Condition darrêt : i>5 while (i<=5) do begin writeln("Jadore les lundi"); i := i + 1; end

Initialisation var i : integer; i := 1; while (i<=5) do begin writeln("Jadore les lundi"); i := i + 1; end

Sondage var i : integer; i := 1; while (i<=5) do begin writeln("Jadore les lundi"); i := i + 1; end i123456i123456

Sondage var i : integer; i := 1; while (i<=5) do begin writeln("Jadore les lundi"); i := i + 1; end i123456i BON : 36 MOYEN : 0 FAUX : 11

Ingrédients dalgorithmes Structure de contrôle –Branchements conditionnels SI ALORS SINON

Ingrédients dalgorithmes Structure de contrôle –Branchements conditionnels SI ALORS SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score;

Ingrédients dalgorithmes Structure de contrôle –Branchements conditionnels SI ALORS SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score; En PASCAL : IF (score>meilleur_score) THEN meilleur_score := score;

function estNegatif(entree : integer) : boolean; début si (entree < 0) alors result := true; sinon result := false; fin;

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then begin estNegatif := true writeln(« valeure est négative »); end; else estNegatif := false; end;

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then mw.lines.add(true); else mw.lines.add(false); end; NON !! Ne pas afficher à lécran !!

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then mw.lines.add(true); else mw.lines.add(false); end; NON !! Ne pas afficher à lécran !!

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then result := true; else result := false; end;

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then result := true; else result := false; end; … A := estNegatif(100); C := estNegatif(-30);

function estNegatif(entree : integer) : boolean; begin if (entree < 0) then result := true; else result := false; end; … A := estNegatif(100); C := estNegatif(-30); BON : 30 MOYEN : 10 FAUX : 5

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier Stratégie: Supposer que le nombre est premier jusquà on a trouvé un diviseur.

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier Stratégie: Supposer que le nombre est premier jusquà on a trouvé un diviseur. FONCTION estPremier(nombre) : boolean; estPremier := VRAI; Diviseur := 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier := FAUX; Diviseur := Diviseur + 1; FIN TANT QUE FIN FONCTION

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier Stratégie: Supposer que le nombre est premier jusquà on a trouvé un diviseur. FONCTION estPremier(nombre) : boolean; Diviseur := 2; TANT QUE diviseur<nombre FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier := FAUX; SINON estPremier := VRAI; Diviseur := Diviseur + 1; FIN TANT QUE FIN FONCTION FAUX !!!!

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier Stratégie: Supposer que le nombre est premier jusquà on a trouvé un diviseur. FONCTION estPremier(nombre) : boolean; Diviseur := 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier := FAUX; SINON estPremier := VRAI; Diviseur := Diviseur + 1; FIN TANT QUE FIN FONCTION

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier EXEMPLE: resultat = testSiPremier(9); resultatNombre

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier EXEMPLE: resultat := testSiPremier(9); resultatNombre 9

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre % diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier := VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) : boolean; estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier : = VRAI; Diviseur : = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier : = FAUX; diviseur : = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier = VRAI; Diviseur = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier = FAUX; diviseur = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur FAUX estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier = VRAI; Diviseur = 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier = FAUX; diviseur = diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur FAUX estPremier VRAI Nombre 9 EXEMPLE: resultat = testSiPremier(9); resultat

« FAIRE TOURNER » un algorithme Exemple: Tester si un nombre est premier Stratégie: Supposer que le nombre est premier jusquà on a trouvé un diviseur. FONCTION estPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; FIN TANT QUE FIN FONCTION

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier EXEMPLE: resultat testSiPremier(9); resultatNombre

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier EXEMPLE: resultat testSiPremier(9); resultatNombre 9

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur 2 3 estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

FONCTION testSiPremier(nombre) estPremier VRAI; Diviseur 2; TANT QUE diviseur<nombre ET estPremier = VRAI FAIRE SI (nombre MOD diviseur = 0) ALORS estPremier FAUX; diviseur diviseur + 1; FIN TANT QUE RETOURNER estPremier; FIN FONCTION Diviseur FAUX 5 estPremier VRAI FAUX Nombre 9 EXEMPLE: resultat testSiPremier(9); resultat

Sondage Récursion

Exemple : factoriel(5); factoriel := 5 * 4 * 3 * 2 * 1;

Sondage function factoriel(n : integer) : integer; begin var resultat : integer; if ((n = 0) OR (n = 1) then resultat := 1; else resultat = n * factoriel(n-1); result := resultat; end Condition darrêt : la fonction nest plus appelé par elle-même

Appel de fonction : factoriel(5); factoriel := 5 * factoriel(5 - 1); factoriel := 5 * (4 * factoriel(4 - 1)); factoriel := 5 * (4 * (3 * factoriel(3 - 1))); factoriel := 5 * (4 * (3 * (2 * factoriel(2 - 1)))); factoriel := 5 * (4 * (3 * (2 * (1 ))));

Sondage Complexité

Sondage Jeux de cartes 54, sortir les jokers 1 minute Jeux de cartes 108 joker, sortir les jokers 2 minutes Comportement linéaire O(N)

Sondage Trier 100 entrées 10 minutes Puis les mettre ensemble quelques minutes Trier 200 entrées >> 20 minutes Comportement quadratique O(N 2 ) Comportement quadratique O(N log N)

Sondage Trier 100 entrées 10 minutes Puis les mettre ensemble quelques minutes Trier 200 entrées >> 20 minutes Comportement quadratique O(N 2 ) Comportement quadratique O(N log N) BON : 7 FAUX : 38