इससे पहले कि मैं फिशर-येट्स के बारे में पढ़ा, इस एल्गोरिथ्म मैं के साथ आया है:यह शफल एल्गोरिदम गलत क्यों है?
def sort(arr):
for i in range(len(arr)):
swap(arr, i, rand.randint(0, len(arr) - 1))
मेरी समझ से, यह और फिशर-येट्स के बीच फर्क सिर्फ इतना है कि बजाय:
swap(arr, i, rand.randint(0, len(arr) - 1))
मैं लिखना चाहिए:
swap(arr, i, rand.randint(i, len(arr) - 1))
कोई समझा सकते हैं कि कैसे पहले एल्गोरिथ्म सही नहीं है? (यानी एक यादृच्छिक शफल नहीं पैदा करता है)।