Notions abordées : arbres binaires, spécification algébriques, arbres quadratiques.
arbre_b
inaire
.Vide()
et Enrac(ag,r,ad)
.arbre_gauche(a)
, arbre_droit(a)
,
racine(a)
.vide(a)
.hauteur(a)
qui retourne la hauteur
d'un arbre.taille(a)
qui retourne le nombre de
nœuds internes.nb_feuilles(a)
qui retourne le
nombre de feuilles.parcours_
pre
fixe(a)
qui affiche les éléments dans l'ordre du parcours en profondeur d'abord
préfixe.arbre_quad
.Feuille
(f)
et Enrac(
s
o
,n
o
,
ne
,
se
)
(so=sud ouest, no=nord ouest, ne=nord est, se=sud est).arbre_so(a)
, arbre_no(a)
,
arbre_ne(a)
, arbre_se(a)
,
et
iquet
te
(a)
.feuille(a)
qui teste si un arbre
quadratique est une feuille.On représente les images carrées en noir et blanc par un arbre quadratique dont les éléments sont des booléens (blanc = vrai, noir = faux).
image_egal(i1,i2)
qui teste si deux images sont identiques.union(i1,i2)
et intersection(i1,i2)
qui retournent l'image obtenue en
superposant deux images et en mettant du noir respectivement là où il y
a du noir dans l'un des deux images et là où il y a du noir dans les
deux images.est_noir(i,x,y)
qui teste si dans l'image i
, le pixel de coordonnées (x,y)
est noir. (Le pixel au coin au sud-ouest a pour coordonnées (0,0) et le
pixel au coin au nord-est a pour coordonnées (n-1,n-1) où n x n est la
taille de l'image en pixels). (On suppose que l'image est telle que le
plus petit carré monochrome qui la compose est de taille supérieure ou
égale à 1 pixel).noircir
(i
,x,y)
qui modifie une image en noircissant le pixel de coordonnées (x,y)
.