Français
Experimente

Stringdistanzen numerisch ermitteln (Geplanter FastSearch-Algorithmus)

 

p.specht

il y a gefinkelte Such- et Sortieralgorithmen, qui près de simplen Suchvektoren aussi qui Inhalte qui Datenfelder selbst berücksichtigen. si un homme z.B. un annuaire aufschlägt um un mot avec "Z..." trop chercher, wird il probablement pas vorne, pas mittig, sonder plutôt large hinten trop chercher commencer. Algorithmen comment z.B. "FastSearch" rendez-vous dans XProfan mais sur deux Probleme: Anders comme dans C++ ou bien dans Assembler peut Cordes pas vite et simple comme Zahlenwerte ausgelesen volonté. qui zweite difficulté stellt dabei aussi cela dans PCs verwendete "verkehrte" INTEL-Zahlenformat dar. Mag son, qui es là Tricks gibt, qui mir encore pas bekannt sommes. dans Vorbereitung pour den Fastsearch-Algorithmus (pour vorsortierte, gleichverteilte Fichiers) habe je mir einstweilen folgendermaßen beholfen:
Titre de la fenêtre "Distanzen entre String-Anfängen (erste 4 marque) ermitteln."
'(DW) Demoware/Testware 2015-01 by P.Specht, vienne (AT); sans chacun Gewähr!
Fenêtre Style 24:Fenêtre 0,0-%maxx,%maxy-40:randomize
var n&=40
declare stra$[n&-1],tmp$,i&,j&,vec&,su$,tmp&
imprimer "\n son Basiswort (z.B. 1-4 marque ihres Vornamens) s'il te plaît: ";
input su$:su$=lower$(su$)
imprimer "\n Generierung de ";n&;" alphabetischen Zufalls-Cordes qui Longueur [1..8], ... ";

whileloop 0,n&-1:tmp$=»:whileloop 1+rnd(6):tmp$=tmp$+chr$(97+rnd(26))

    endwhile :stra$[&Boucle]=tmp$:endwhile
    Imprimer "\n qui zwecks Überprüfbarkeit eh bien pour Stringdistanzwerten sortiert volonté."

    whileloop 0,n&-1:i&=&Boucle

        whileloop 0,n&-1:j&=&Boucle

            si ASC4(stra$[i&]) < ASC4(stra$[j&])' si stra$[i&] < stra$[j&] 'Sort-Test

                tmp$=stra$[i&]:stra$[i&]=stra$[j&]:stra$[j&]=tmp$

            endif

        endwhile

    endwhile

    ' Ausgabe:

    whileloop 0,n&-1:j&=&Boucle

        imprimer tab(3);chr$(34)+stra$[j&]+chr$(34);\
        tab(14);" ist de ";chr$(34)+su$+chr$(34);tab(35);str$(int( ASC4(stra$[j&])-ASC4(su$)));\
        tab(50);" mögliche 4-Ketten entfernt."

    endwhile

    waitinput
    end

    proc ASC4 :parameters x$

        'Stringwert qui ersten quatre ASCII-marque ermittlen (passen dans un Long-Variable)
        declare x&',xl&:xl&=if(len(x$)<4,len(x$),4)

        sélectionner si(len(x$)<4,len(x$),4)

            caseof 0:x&=0

            caseof 1:x&=byte(addr(x$),0)<<23

            caseof 2:x&=byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            caseof 3:x&=byte(addr(x$),2)<<7 | byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            caseof 4:x&=byte(addr(x$),3)>>1 | byte(addr(x$),2)<<7 | byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            otherwise :imprimer "select error"
            endselect :return x&

        endproc

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
12.05.2021  
 



Zum Experiment


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

641 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
Michael W.28.05.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie