🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #10394

Re: Comment �viter les doublons? ISPELL l'a fait pourquoi pas XML

#10394
From: Joe Brouill
Date: Sat, 14 Oct 2000 04:47
56 lines
3141 bytes
nelsounet a �crit dans le message ...
>Dans mon XML, j'ai des balises qui ont parfois le m�me contenu et je
>voudrais boucler dessus en �vitant �videement les doublons.
>Savez-vous comment faire??
>
>Je vous en remercie d'avance.
>Nelson
>


salut,
je n'est aucune id�e pr�concue sur la technique et s'il ya des meilleures
solutions je serai aussi ravi de les apprendre.
toutefois il me semble que cela pourrait etre une piste. soit j'ai lu
qu'ispell @unix.moccom marche comme ca.

pb:
devra t on memoriser tous les mots et faires des comparaisons via
tri+recherche => lourd (surtout par des interpreteurs)
ici sol: au profit de la taille des data en esayant de ne pas trop penaliser
l'algo

prop:
 tu calcules n*crc (code de redondance cyclique) c'est le petit truc qui te
dit en qq octets si on a eloignement de la donn�e par rapport a la valeur
attendue (cf winzip). c'est evaluer un polynome sur un corps Fp p premier
(congruence). cf numerical recipe. c'est se donneer 1 nb premier.

Si tu en as 1, la valeur de v�racit� de l'information est plutot mince. on
montre (comment qu'est ce faire doit donc je vais mais pourquoi est ce que
c'est comment deja oulalah, ne me demandes pas la demo) que par systeme avec
k crc, les �carts � 100% se multiplient entre eux et que vue qu'ils sont
plus petits que 1 ca tend vers 0, donc ca fonctionne bien. avec k#10 tu
obtiens 99.9% de r�ussite crois-je.

bilan:
data: un vecteur k-uplet de numeriques par element en surcout de dimension
ne nombre d'element a comparer
algo: insertion en temps constant, recherche ispell n'est pas fait pour etre
rapide en boucle (?-\) mais on peut imaginer un tri-lexicographique sur les
k-uplets, il s'agit d'une insertion sur des donn�es tri�s qui peut se faire
en log(n)

en gros (pseudo C-C++):
long k[] = { 117, 131, 207, 311, .....  } // completement au hasard mais a
prendre grand
typedef long _k[sizeof(k)/sizeof(k[0])];
operator<=(_k k1, k2);
list<_k> _sign1;
int crc(char* s, int p)
add_kcrc()
find_kcrc()
avec la c++ STL <=> 1 types, <= et crc

bon, voila, j'espere que cela pourra t'etre utile
Technical Details
Message-ID: <8s8oes$2cim$1@news5.isdnet.net>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-01!supernews.com!feeder.qis.net!dca1-hub1.news.digex.net!intermedia!europa.netcrusader.net!192.148.253.68!netnews.com!isdnet!isdnethub!not-for-mail
References: <aztv5.2107$1S1.9960536@nnrp1.proxad.net>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,1eef06a14856e975
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2000-10-13 21:48:01 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-01!supernews.com!feeder.qis.net!dca1-hub1.news.digex.net!intermedia!europa.netcrusader.net!192.148.253.68!netnews.com!isdnet!isdnethub!not-for-mail
From: "Joe Brouill" <joe@pointelabacelebahamas.com>
Newsgroups: fr.comp.text.xml
Subject: Re: Comment �viter les doublons? ISPELL l'a fait pourquoi pas XML
Date: Sat, 14 Oct 2000 06:47:18 +0200
Lines: 59
Message-ID: <8s8oes$2cim$1@news5.isdnet.net>
References: <aztv5.2107$1S1.9960536@nnrp1.proxad.net>
NNTP-Posting-Host: 213.36.37.122
X-Trace: news5.isdnet.net 971498780 78422 213.36.37.122 (14 Oct 2000 04:46:20 GMT)
X-Complaints-To: abuse@isdnet.net
NNTP-Posting-Date: 14 Oct 2000 04:46:20 GMT
X-Newsreader: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3