0% ont trouvé ce document utile (0 vote)
29 vues1 page

DS Structures de Données - Université Ibn Zohr

Transféré par

rania97hannaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues1 page

DS Structures de Données - Université Ibn Zohr

Transféré par

rania97hannaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Département d'Informatique Filières: SMI4 & SMA4

Faculté des Sciences, Université Ibn Zohr Durée: 2h


Agadir 18/05/2018
 DS - Structures de données 
Session normale

Exercice 1: (6 pts)

1. Donner une fonction récursive som permettant de calculer:


1 2 3 4
0− + − + + ...
4 9 16 25
Exemples:
som(0)=0, som(1)=0-(1/4), som(2)=0-(1/4)+(2/9),
som(3)=0-(1/4)+(2/9)-(3/16)
2. Donner sa complexité en tenant compte les opérations d'addition, soustraction et divi-
sion (le nombre total des opérations). La réponse doit être justiée. Une réponse
non justiée ne sera pas prise en compte.

Exercice 2: (14 pts)


On suppose que nous nous disposons d'une liste chaînée d'entiers qui peut être vide ou
non vide (cas général). La structure des noeuds de la liste chaînée est dénie comme suit:
typedef struct liste{
int data;
struct liste * suivant;
} liste;
Contraintes à respecter: Dans les réponses aux questions ci-dessous, vous n'êtes
pas autorisés à parcourir les noeuds de la liste plus qu'une seule fois ni à faire
appel à d'autres fonctions. La fonction (réponse) qui ne respecte pas les contraintes
ci-dessus ne sera pas prise en compte.

1. Donner une fonction permettant de supprimer (détruire) la tête et la queue d'une liste
chaînée (Il y aura libération de l'espace mémoire occupé par les noeuds tête et queue).
2. Donner une fonction permettant de supprimer le Nième noeud d'une liste chaînée. La
suppression est possible uniquement si la liste comporte au moins N noeuds (Il y aura
libération de l'espace mémoire occupé par le Nième noeud).

3. Donner une fonction permettant d'insérer un élément après le nième noeud d'une liste
chaînée. Si le nombre de noeuds de la liste est inférieure à N, l'insertion s'eectue en
queue de la liste (à la n de la liste).
4. Donner une fonction récursive permettant l'achage des éléments d'une liste chaînée.

 Bon courage 

Prof. Mohamed El Ansari Page 1/1

Vous aimerez peut-être aussi