• Aucun résultat trouvé

DS 1

N/A
N/A
Protected

Academic year: 2022

Partager "DS 1"

Copied!
2
0
0

Texte intégral

(1)

DS 1

Option informatique, deuxième année Julien Reichert

Pour les exercices 1 à 3, on impose le type suivant : type 'a abr = V | N of 'a abr * 'a * 'a abr;;

Exercice 1 : Écrire en Caml une fonction minimum_ABR qui prend en entrée un arbre binaire de recherche et qui retourne la valeur minimale y gurant.

Exercice 2 : Écrire en Caml une fonction qui prend en entrée un arbre binaire et un prédicat et qui détermine si toutes les valeurs dans l'arbre vérient le prédicat.

On rappelle qu'un prédicat est assimilé à une fonction retournant un booléen. Ici, l'argument d'un prédicat est l'information associée à un n÷ud.

La fonction demandée dans l'exercice 2 peut débloquer dans l'exercice 3, mais s'en servir est une mauvaise idée si on cherche à optimiser la complexité, mieux vaut se servir du cours. . .

Exercice 3 : Écrire en Caml une fonction qui prend en entrée un arbre binaire et qui détermine s'il s'agit d'un ABR.

Exercice 3bis : Déterminer la complexité dans le pire des cas de la fonction précédente. (Il faut que la réponse soit au maximum quadratique en la taille de l'arbre.)

Exercice 4 : Écrire en Caml une fonction qui prend en entrée un arbre et qui détermine s'il s'agit d'un tas-min.

Pour l'exercice 4, on impose le type suivant :

type 'a arbre = Noeud of 'a * 'a arbre list;;

Il n'y a cette fois-ci pas d'arbre vide possible, mais cela simplie le reste, et une feuille sera donc par exemple un n÷ud pour lequel la liste associée est vide.

Exercice 5 : Mettre les expressions booléennes suivantes en forme normale conjonctive et éventuellement simplier.

(a⇒(b⇒c))⇒(c∨ ¬a)

¬(a∧b∧c)∧(a∧b∨a∧c∨b∧c) (a⇒b)⇒((a⇒ ¬b)⇒ ¬a)

1

(2)

Exercice 6 : Résoudre la grille de Loopy suivante.

Règles du jeu : une boucle et une seule doit être dessinée le long des lignes du quadrillage (les lignes jaunes ici).

Elle ne doit en particulier pas se croiser, donc par un point de coordonnées entières (les points noirs ici) passent exactement deux traits ou aucun. Les nombres entourés de quatre traits jaunes indiquent combien de ces traits font partie de la boucle.

2

Références

Documents relatifs

Chercher sur Internet l‘algorithme DSW (c’est un algorithme qui prend en entrée un arbre de recherche binaire afin de réaliser son équilibrage) et l’algorithme de

[r]

d- En supposant qu’il existe une fonction point qui permette de dessiner un point de coordonn´ ees (x, y), d´ efinir une fonction qui dessine la repr´ esentation graphique

Le probl` eme de cet exercice consiste ` a d´ eterminer le nombre de points du plan contenus dans un rectangle donn´ e.. Ce genre de situation apparait tr` es souvent dans les

d- En supposant qu’il existe une fonction point/2 qui permette de dessiner un point de coordonn´ ees (x, y), d´ efinir une fonction qui dessine la repr´ esentation graphique

Exercice 2 : Écrire en Caml ou en pseudo-code une fonction insertion_ABR qui prend en entrée un arbre binaire de recherche et une valeur et qui retourne l’arbre binaire de

Exercice 2 : Écrire en Caml ou en pseudo-code une fonction rechercher_ABR qui prend en entrée un arbre binaire de recherche et une valeur et qui retourne la liste des directions

Les pre- mières division d’un arbre sont utilisées pour construire une variable synthétique intégrée à une régression logistique afin de sélectionner les quelques