3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)
  • Q:
    Bijdrager
    computer space

    Verwijderd

    Verwijderd

    Bijdrager
    Kyokushinkai

    Kun je dat zelf niet bouwen? Array maken. Array kopieren. Gekopieerde array shuffelen. Gekopieerde array vergelijken met het origineel. Wanneer er een key dezelfde waarde heeft als eerst, nog een keer shuffelen en weer vergelijken.

    Bijdrager
    TGV

    Ik denk dat dat problemen oplevert met grote arrays: de kans dat er een element op dezelfde plek blijft staan wordt erg groot en dan moet je dus heeeeel vaak shuffelen voordat je je doel bereikt.

    Efficiƫnter lijkt me om het standaard schudalgoritme te nemen en licht te wijzigen. In pseudocode:
    i := 1
    n := aantal elementen in array
    WHILE i < n
    DO j := willekeurig element uit i + 1 .. n
    wissel elementen i en j
    i := i + 1

    Ik weet niet precies of er een bias in de verdeling komt te zitten, maar het lijkt me het proberen waard.

3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.