Fisher-Yates shuffle
Në shqip: Përzierja Fisher-Yates
ShpjegimiSQ
Mënyra e saktë për të përzier një varg: për çdo pozicion nga fundi, ndërroje me një pozicion të rastësishëm para tij. Çdo renditje ka të njëjtën gjasë. Përzierjet „naive“ janë shpesh të anshme.
EnglishEN
The correct way to shuffle an array: for each position from the end, swap it with a random earlier position. Every ordering is equally likely. “Naive” shuffles are often biased.
Si ta mendosh
Si të përziesh letrat e lojës në mënyrë krejt të drejtë.
Lexoje në anglisht
Like shuffling a deck of cards completely fairly.
Shembull kodipython
for i in range(len(v) - 1, 0, -1):
j = random.randint(0, i)
v[i], v[j] = v[j], v[i]