1. 피셔-에이츠 셔플 알고리즘 개요
피셔-에이츠 셔플(Fisher-Yates shuffle) 알고리즘은 배열의 요소를 무작위로 섞는 알고리즘 중 하나입니다. 랜덤 함수의 사용을 최소화하면서 요소를 섞는 효과적인 방법 중 하나로 알려져 있습니다.
2. 피셔-에이츠 셔플 알고리즘 동작 방식
1. 배열의 마지막 요소부터 시작하여 첫 번째 요소까지 반복합니다.
2. 현재 위치(i)와 배열의 무작위 위치(j)를 선택합니다. (0 <= j <= i)
3. 현재 위치(i)와 무작위 위치(j)에 있는 요소를 교환합니다.
4. 1~3 과정을 배열의 첫 번째 요소까지 반복합니다.
3. 자바스크립트 코드 구현 예시
다음은 자바스크립트로 피셔-에이츠 셔플 알고리즘을 구현한 예시입니다.
function fisherYatesShuffle(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
'JAVASCRIPT' 카테고리의 다른 글
[JavaScript 구조 분해 할당(Destructuring)] (0) | 2023.04.26 |
---|---|
[JavaScript 유사 배열(Array-like Object)] (0) | 2023.04.25 |
자바스크립트 If문 중첩 제거하기 (JAVASCRIPT) (0) | 2023.04.18 |
자바스크립트 /value, textContent , innerHTML, innerText 사용 (0) | 2023.04.18 |
자바스크립트 배열 (JAVASCRIPT ARRAY) (0) | 2023.04.18 |
댓글