Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 19-12-2014 09:05:33

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

[résolu] Recherche de type binaire avec Find

Hello,

Dans un article pas très récent de Chris Pollach sur "l'optimisation" (http://pbdj.sys-con.com/node/117342), j'ai lu un paragraphe qui me laisse perplexe :

"Use "binary" searching techniques instead of linear searches - even for the DataWindows' Find ( ) method. Binary searching can usually locate a given row in 3-4 operations, whereas linear searching a large buffer may take thousands of operations."


Je ne comprend pas de quoi il s'agit, ou alors mon anglais est dépassé ...  vraisemblablement les deux   

Une âme charitable pourrait-elle prendre quelques minutes pour me donner un exemple de la chose ?

Merci d'avance !

ElFeliz

Dernière modification par elfeliz (30-01-2015 14:34:02)


No prob, just Pb !

Hors ligne

 

#2 19-12-2014 09:23:17

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [résolu] Recherche de type binaire avec Find

"Binary search" c'est une recherche dichotomique : On cherche si c'est avant ou après le milieu, puis on itère en plaçant le milieu au niveau du milieu de le première moitié ou du milieu de la deuxième moitié, et on recommence. ça paraît basique mais c'est très efficace comme méthode quand on n'a pas d'index ou de table de hachage qui donnerait tout de suite le bon élément.

Chris Pollach pense qu'on est plus efficace en cherchant soi-même qu'en utilisant la méthode Find() qui est fournie par l'objet ??


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 19-12-2014 09:31:28

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: [résolu] Recherche de type binaire avec Find

C'est ce que je croyais comprendre, en effet...

Je suis un peu troublé par cette affirmation : j'avais une confiance aveugle en l'optimisation des méthodes des datawindows.
Et une confiance équivalente envers Chris Pollach :-)

Si bien que je me suis demandé un instant si je ne comprenais pas mal
Voir qu'une option du Find pour fonctionner en mode "recherche binaire" m'aurait échappée jusque là....


No prob, just Pb !

Hors ligne

 

#4 19-12-2014 10:12:06

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: [résolu] Recherche de type binaire avec Find

OK, c'est confirmé : http://nntp-archive.sybase.com/nntp-arc … 1D6A8042AF

A priori sur un dataset > 1000 lignes, un algo de recherche binaire est supérieur au find en performance...

Merci pour ton input, Seki.


No prob, just Pb !

Hors ligne

 

#5 19-12-2014 11:06:18

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [résolu] Recherche de type binaire avec Find

elfeliz a écrit:

A priori sur un dataset > 1000 lignes, un algo de recherche binaire est supérieur au find en performance...

En un sens, c'est normal puisque le find évalue l'expression qui lui est donnée à chaque ligne, d'où la recherche linéaire.

D'un autre côté la recherche dichotomique n'est possible que si tes données sont triées sur la colonne qui te sert de critère, ce qui n'est pas toujours possible. PB n'est pas si mauvais


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22