> 백엔드 개발 > C++ > `orderby (x => r.next ())`목록을 셔플하는 현명한 방법입니까?

`orderby (x => r.next ())`목록을 셔플하는 현명한 방법입니까?

DDD
풀어 주다: 2025-01-31 19:01:08
원래의
564명이 탐색했습니다.
<.> r.next ())`목록을 셔플하는 사트 방법? " />

Is `OrderBy(x => 셔플 목록이 현명합니까? <..> <<>
<the> 셔플 알고리즘을 논의 할 때 일부 사람들은 다음 코드를 사용하는 것이 좋습니다.
</p>
<估 估> <<> 평가 <p> <strong>
이 방법은 이상적인 셔플 방법이 아닙니다. 각 요소에 대해 유일한 임의의 숫자를 생성하지만 O (n log n) 작동이며보다 효과적인 O (n) 알고리즘이 있습니다. <code>OrderBy(x => r.Next())</code>
<原> <<> 작동 원리 <🎜 🎜> </strong>
본질적으로,이 방법은 요소에 무작위로 분산 되어이 숫자에 따라 정렬됩니다. 이렇게하면 각 요소가 다른 위치에 나타나지 만 위치는 실제로 생성 된 임의의 숫자에 의해 결정됩니다. </p>
<替> <<> 대체 방법 <p> <🎜 🎜>
<ended> 요소를 직접 교환하는 Durstenfeld 버전의 Fisher-Yates 셔플 알고리즘을 사용하는 것이 좋습니다. 다음과 같은 이러한 확장을 사용하여 구현할 수 있습니다
</p>
<能 能> <<> 성능 최적화 <pre class=

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿