Designer and Developper

Pages: 13 (3007 mots) Publié le: 22 octobre 2014
No d’ordre :
No attribué par la bibliothèque :

Université DE CARTHAGE
École Supérieure de Technologie et d’Informatique
Département d’Informatique Appliquée

Support de Cours
ALGORITHMIQUE AVANCÉE & COMPLEXITÉ
DEUXIÈME ANNÉE D’INGÈNIEURS EN INFORMATIQUE

Responsable du Module
Hazem FKAIER

Dernière mise-à-jour de ce document est effectuée le :
16 septembre 2014

Ce document aété édité par LATEX 2ε

Préface

Ce support de cours est destiné aux élèves ingénieurs en Informatique de la deuxième
année en de l’ École Supérieure de Technologie et Informatique 1 . Le présent
document contient le support de cours de la matière « Algorithmique Avancée &
Complexité ».
Le cours porte, dans sa première partie sur des strutures de données avancées de type
Arbres Bianires deRecherche, Arbres AVL ou encore Arbre rouges et noirs.
La deuxième partie du cours porte sur la complexité et la présentation de différents
paradigme de progarmmation comme : les algorithmes de type diviser pour régner, les
algorithmes glouttants ou encore la programmation dynamique.
Outre les exemples et applications illustratives du cours, chaque chapitre est suivi
par une série d’exercices.

1. ESTI, www.esti.rnu.tn.

ii

Table des matières

I

STRUCTURES DE DONNÉES AVANCÉES

1

1 RAPPEL

3

2 LES ARBRES
2.1 Introduction . . . . . . . . . . . . . . . . . . . .
2.2 Terminologie de base . . . . . . . . . . . . . . .
2.2.1 Ordre sur les nœuds d’un arbre . . . . .
2.2.2 Parcours d’arbres . . . . . . . . . . . . .
2.3 Les arbres binaires . . . . . . . . . . . . .. . .
2.3.1 Définitions . . . . . . . . . . . . . . . . .
2.3.2 Représentation des AB par des pointeurs
2.4 Exercices . . . . . . . . . . . . . . . . . . . . . .

II

.
.
.
.
.
.
.
.

COMPLEXITÉS DES ALGORITHMES

iii

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
..
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

7
7
8
10
11
14
14
15
17

19

Première PARTIE

STRUCTURES DE DONNÉES
AVANCÉES

1

CHAPITRE 1

RAPPEL

Exercice 1 (- pts)

Soit la déclaration suivante :
const Nmax = 100
Type TAB = tableau[1..Nmax]d’entier
Var T : TAB

Écrire une procédure récursive qui affiche les éléments du tableau T de rang pair dans
leur ordre d’apparition dans le tableau, puis affiche les éléments de rang impair à partir
de la fin jusqu’à le début du tableau.
Exercice 2 (- pts)

Soit M une matrice carrée d’ordre N (N lignes et N colonnes) de réels.
1. Définir le type de données permettant de modéliserune telle matrice.
2. Écrire une fonction itérative permettant de calculer la somme des termes de cette
matrice.
3. Sachant que, si N > 1, alors la matrice en question peut être décomposée en
quatre sous matrices de même taille ( N2 chacune) comme dans la figure.
3



M11 M12






 M21 M22



M=


 M11 M12





M21 M22

M11 M12

M21 M22

M11M12

M21 M22





















En partant de cette décomposition, écrire une fonction récursive qui permet de
calculer la somme des termes d’une matrice donnée.
Exercice 3 (- pts)

Soit la définition suivante :
Type Node = enregistrement
Data : type_data
Next : ˆNode
Finenergistrement
Var C1, C2 : ˆNode

C1 et C2 deux chaînes non vides.
1.Écrire une procédure qui inverse le chaînage d’une liste chaînée.
2. Écrire une procédure qui construit une nouvelle chaîne à partir des nœuds de C1
et de C2, en prenant alternativement un nœud de C1 et un nœud de C2.
3. Écrire une procédure qui construit une nouvelle chaîne à partir des nœuds de
C1 et de C2, en prenant alternativement un nœud de C1 et un nœud de C2 en
commençant à partir...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Gis and web developer
  • Palnning and design school
  • Design and brand strategy bic
  • How to develop and maintain his personal network
  • développer
  • designer
  • Design
  • Design

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !