• Aucun résultat trouvé

ULCO - L2 Mathématiques Examen Algorithmique - 2h

N/A
N/A
Protected

Academic year: 2022

Partager "ULCO - L2 Mathématiques Examen Algorithmique - 2h"

Copied!
2
0
0

Texte intégral

(1)

ULCO - L2 Mathématiques Examen Algorithmique - 2h

5 janvier 2017

Exercice 1 : Listes chaînées

On considèrera une liste chaînée de joueur, où joueur est une structure qui contient :

un tableau de 50 caractères "nom", composé uniquement de lettres minuscules entre 'a' et 'z' où 'a'<'b'<...<'z' ;

un entier "nb_buts" ; un entier "nb_matchs" ; un réel "salaire" ;

un booléen "blesse" qui sera Vrai si le joueur est blessé et Faux sinon ;

un pointeur nommé "suivant" sur le joueur suivant s'il existe, sinon "suivant" vaudra "Null".

Dans cet exercice,

1. vous écrirez la structure "joueur" décrite ci-dessus ;

2. vous écrirezune fonction "infoBlesses" retournantla somme des salaires des joueurs blessés, ainsi que le salaire moyen de ces mêmes joueurs ;

3. vous écrirez une fonction "insererDernier" qui prend en paramètres un pointeur "Tete" pointant sur le début d'une liste, et unjoueurnommé "nouveau" (qu'on considèrera initialisé), et qui insère le joueur"nouveau" en dernière position ;

4. vous écrirez une fonction "tableauxTries" qui prend en paramètres 2 tableaux T1 et T2 de 50 caractères, et qui renvoie Vrai si T1 contient un "nom" qui est avant celui contenu dans T2 pour l'ordre alphabétique, et Faux sinon ;

5. on supposera maintenant que la liste est triée dans l'ordre alphabétique des noms des joueurs (champ "nom" de la structure "joueur"). Vous écrirez une fonction "inserer" qui prend en pa- ramètres un pointeur "Tete" pointant sur le début d'une liste, et un joueur nommé "nouveau"

(qu'on considèrera initialisé), et qui insère le joueur"nouveau" à sa place dans la liste (donc en fonction de son "nom"). Vous pourrez utiliser la fonction "tableauxTries" même si vous n'avez pas réussi à l'écrire.

Exercice 2 : Arbres binaires

Nous allons considérer un arbre binaire dont les noeuds contiennent des entiers. La racine de l'arbre contient la valeur 0, son sous-arbre gauche est composé des noeuds contenant des entiers pairs, et son sous-arbre droit des noeuds contenant des entiers impairs.

Dans cet exercice,

1. vous écrirez la structure d'un noeud comme décrit ci-dessus ;

2. vous écrirez une fonction "acher" qui prend en paramètres un pointeur "Racine" pointant sur la racine d'un arbre binaire, et qui permet d'acher dans un ordre que vous dénirez toutes les valeurs de cet arbre binaire ;

3. vous écrirez une fonction "insererSousArbre" qui prend en paramètres un pointeur "Racine" poin- tant sur la racine d'un arbre binaire, et un élément nommé "nouveau", et qui complète l'arbre binaire avec l'entier "nouveau" en tant que feuille d'un noeud qui n'a pas 2 ls (en complétant en priorité un noeud qui a un ls par rapport à un noeud qui n'en a pas). Voir les exemples ci-après.

1

(2)

Exemple 1 :

0 2

6 4

7 3

0 2

6 4

7

3 ? ?

Exemple 2 :

0 2

6 4

7

3 5

0 2 6

? ?

4

7

3 5

4. vous écrirez une fonction "inserer" qui prend en paramètres un pointeur "Racine" pointant sur la racine d'un arbre binaire, et un élément nommé "nouveau" (qu'on considèrera initialisé, donc avec une valeur), et qui insère l'élément "nouveau" dans l'arbre binaire au bout d'une feuille du sous-arbre auquel il appartient (gauche si pair, droit si impair).

Exercice 3 : Graphes

On considère le graphe G suivant :

A D

B C

E F

G 12

13

9 3 21

9

4

11

7 5

8

1. Le graphe G possède t-il une chaîne eulérienne ? Si oui en donnez une, si non justier.

2. A l'aide de l'algorithme de Dijkstra, déterminez le plus court chemin allant de A à G. Vous donnerez les diérentes étapes de l'algorithme.

2

Références

Documents relatifs

[r]

[r]

Erire une fontion strCompare qui prend en param etre deux ha^ nes de arat eres s1..

[r]

Q 2 Il écrit ensuite sur une même ligne la suite croissante S 2 des n entiers naturels consécutifs en partant de l'entier 1 auquel il affecte le signe &#34;+&#34; puis il

On désire analyser les capacités d'absorption des rayons X d'un matériau; pour cela, on bombarde des plaques de ce matériau de différentes épaisseurs, notées x en cm, et on

Pour le calcul de K(n,k), on passera par celui de P(n,k), nombre de mots de longueur n écrits avec au plus k lettres, tels que deux lettres adjacentes soient toujours différentes

[r]