Vertailujärjestys-algoritmi

Parivertailut-kehyksessä näkyy yksi vertailu kerrallaan. Kun vertailu on valmis, ohjelma muodostaa uuden. Algoritmi koostuu seuraavista kahdesta vaiheesta:

  1. Ensimmäisessä vaiheessa valitaan vertailut niin, että jokainen elementti kytkeytyy johonkin. Jos aiemmin vailla kytkentää olevaan elementtiin yhdistyy useita vertailuja, ohjelma valitsee vertailuista yhden sattumanvaraisesti. Tämän vuoksi on todennäköistä, että ohjelma näyttää eri vertailut, jos samaa näkymää verrataan kahden ehdon suhteen.

    Jos näkymässä on esimerkiksi kymmenen elementtiä, kaikkien elementtien kytkentä edellyttää yhdeksää vertailua. Kun nämä yhdeksän vertailua ovat valmiit, ohjelma voi laskea prioriteetit.

  2. Toisessa vaiheessa algoritmi etsii vertailua, joka antaa eniten tietoja. Algoritmi noudattaa seuraavia sääntöjä:
    • Algoritmi etsii vähintään kaksi elementtiä, jotka ovat mukana mahdollisimman harvoissa vertailuissa.
    • Jos algoritmi löytää vain kaksi elementtiä, se vertailee niitä.
    • Jos algoritmi löytää enemmän kuin kaksi elementtiä (esimerkiksi viisiä elementtiä, joista jokainen on mukana kahdessa vertailussa), algoritmi vertaa niitä kahta elementtiä, joiden prioriteetti on suurin.
Huomautus: Algoritmi toimii eri tavalla silloin, jos käytetään valittuja elementtejä ja niiden vaikutus on otettava huomioon.

Palaute