ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Kuplalajittelu – Wikipedia

Kuplalajittelu

Wikipedia

Kuplalajittelu (engl. bubble sort) on erittäin hidas (O(n2)) lajittelualgoritmi, jolla ei ole etuja nopeampiin algoritmeihin edes muistinkäytön suhteen. Se toimii seuraavasti:

  1. Käydään jono läpi vertaillen kutakin jonon peräkkäistä kahta alkiota toisiinsa. Jos ne ovat väärässä järjestyksessä, vaihdetaan ne keskenään.
  2. Mikäli vaihtoja tehtiin, toistetaan ensimmäinen vaihe.

Kuplalajittelu voidaan toteuttaa esimerkiksi seuraavalla Python-kielisellä koodilla:

def bubblesort(a):
    """bubblesort(a) -> list
    Järjestää taulukon a järjestykseen pienimmästä suurimpaan.
    """
    # Tähän muuttujaan tallennetaan tieto siitä, onko vaihtoja tehty
    changes = True
    # Toistetaan niin kauan, kuin vaihtoja tulee
    while changes:
        changes = False
        # Iteroidaan järjestettävän taulukon yli
        for i in xrange(1, len(a)):
            # Tarkistetaan alkioiden järjestys
            if a[i] < a[i - 1]:
                # Alkiot ovat väärin päin, joten vaihdetaan ne keskenään
                a[i], a[i - 1] = a[i - 1], a[i]
                # Vaihto on tapahtunut, joten iterointi on toistettava
                changes = True
    # Se, että olemme päässeet tähän kohtaan koodia, tarkoittaa että
    # taulukko on järjestyksessä; palautetaan se siis kutsujalle
    return a

[muokkaa] Aiheesta muualla


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -