Developer Toolbox

Valintalajittelu

Etsii pienimmän jäljellä olevan arvon ja vaihtaa sen seuraavalle paikalle. Vaihtoja on hyvin vähän, mutta vertailuja aina yhtä monta.

  • Ω(n²)
  • Θ(n²)
  • O(n²)
  • O(1)
  • ei
  • kyllä
  • vertailu
  • siirto
  • pienin tähän asti
  • lopullisella paikallaan
0 / 399 askelta

Vertailut: 0 · vertaillut parit: 0/276 vertailtu (tummempi = useammin) vertaillaan nyt

Vertailut Vaihdot

Paina Toista: viivat näyttävät, miten työmäärä kasvaa

Paina Toista tai käy algoritmi läpi askel kerrallaan.

Välilyönti: toisto tai tauko. Nuolinäppäimet: askel. Home ja End: alkuun tai loppuun.

Kokeile tätä: Valitse käänteinen lista. Vertailuja tehdään täsmälleen yhtä monta kuin millä tahansa muulla listalla.

Miten se toimii

Järjestämättömästä osasta etsitään pienin arvo. Se vaihdetaan ensimmäisen järjestämättömän arvon kanssa, jolloin taas yksi arvo on lopullisella paikallaan. Kaikki jäljellä olevat arvot tarkistetaan aina, vaikka lista olisi jo järjestyksessä.

Milloin se on hyvä valinta

Hyödyllinen, kun datan siirtäminen on kallista mutta lukeminen halpaa, koska jokaiseen paikkaan tehdään enintään yksi vaihto. Muissa tapauksissa lisäyslajittelu on yleensä parempi valinta.