OCaml에서 만든 프로그램에서, 거대한 문자열 집합에서 임의로 문자열을 선택해야합니다. 지금까지이 작업을 수행하는 데있어 두 가지 다른 방법을 시도했지만 거의 성공하지 못했습니다. 내가 먼저 목록에 문자열을 모두 저장 한 후 무작위로 목록에서 요소를 선택합니다 :Ocaml에서 임의로 요소를 선택할 수 있습니까?
let randomelement l =
List.nth l (Random.int (List.length l))
그러나이 목록에서 1000 문자열을 선택하면이 시간이 오래 걸립니다. 그래서 나는 Set.choose
이 세트에서 무작위 요소를 리턴 할 것이라고 생각하면서 모든 것을 세트로 집어 넣었습니다. 그러나 그것은 작동하지 않는 것 같습니다. 나는 두 가지 질문이 있다고 생각합니다 ... Set.choose
은 어떻게 작동하며 Ocaml에서 임의로 요소를 선택하는 더 좋은 방법입니까?
오, 나는 배열이 O (1) 시간인지 몰랐다. 그것은 대단하며 그것은 내가 할 일입니다. 감사! – Travis