Posez votre question Signaler

Recherche dichotomique recursivite [Résolu]

souadhakmi - Dernière réponse le 2 juin 2009 à 20:04
Bonjour,
fonction rd(t:tab[1..n]entie ,x,deb,fin:entie):booleen;
var m:entie;
debut
si (x<t[i]) ou (x>t[i]) alors rd:=faux
sinon debut
si (deb>fin) alors rd:=faux
sinon debus
m:= (deb+fin)/2
si x=t[i] alors rd:= vraie
sinon
si x<t[m] alors rd:=rd(t,x,deb,fin,m-1);
sinon
si x>t[m] alors rd:=rd(t,x,deb,fin,m+1);
fin;
fin;
Lire la suite 

Recherche dichotomique recursivite »

3 réponses
Réponse
+4
moins plus
Voici quelque chose de plus simple :
Fonction Dicho (;nbre, ;bi, ;bs : entier, ;v: vecteur d'entier) à résultat booléen
	Pivot : entier
	Trouve : booléen
	Si bi <= bs alors
		pivot = (bi + bs)/2
		Si v[pivot] = nbre alors
			trouve = vrai
		Sinon
			Si v[pivot] > nbre alors
				trouve = dicho(nbre, pivot + 1, bs, v)
			Sinon
				trouve = dicho(nbre, bi, pivot - 1, v)
			FSi
		FSi
	Sinon
		trouve <= faux
	FSi
	Résultat trouve
FFonc
Ajouter un commentaire
Réponse
+1
moins plus
Je pense qu'au bout d'un an il a fini par trouvé ;-) Mais merci de ta contribution !
Ajouter un commentaire
Réponse
+0
moins plus
Et la question est ?
Ajouter un commentaire
Ce document intitulé « recherche dichotomique recursivite » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?