Article View: comp.lang.misc
Article #5687Random permutation algorithm
From: robison
Date: Tue, 16 Aug 1988 19:55
Date: Tue, 16 Aug 1988 19:55
28 lines
1533 bytes
1533 bytes
Though the following appears to be a math problem, I'm posting in comp.lang.misc
because the problem was stated in the context of imperative languages vs.
applicative languages. [1] says that the fastest imperative algorithm takes
O(n) time, while the fastest applicative algorithm takes O(n log n) time.
Problem: Random Permutation
Description: Given n and a sequence of n integers drawn independently
from a uniform distribution over 1..n, produce a uniformly
random permutation of the sequence 1..n.
My question is: Am I either misreading the question? It would seem to
be impossible. There are n^n possible inputs, and n! possible outputs.
In general n! does not divide n^n evenly. Can anyone clarify this, or
put me in contact with the authors?
[1] Carl G. Ponder, Patrick C. McGeer, and Antony P-C. Ng,
"Are applicative languages inefficient?", SIGPLAN Notices,
vol. 23,6, June 1988, 135-139.
Arch D. Robison
University of Illinois at Urbana-Champaign
CSNET: robison@UIUC.CSNET
UUCP: {pur-ee,convex}!uiucdcs!robison
ARPA: robison@CS.UIUC.EDU (robison@UIUC.ARPA)
Technical Details
Message-ID:
<5200012@m.cs.uiuc.edu>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!husc6!psuvax1!rutgers!iuvax!pur-ee!a.cs.uiuc.edu!m.cs.uiuc.edu!robisonShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!husc6!psuvax1!rutgers!iuvax!pur-ee!a.cs.uiuc.edu!m.cs.uiuc.edu!robison From: robison@m.cs.uiuc.edu Newsgroups: comp.lang.misc Subject: Random permutation algorithm Message-ID: <5200012@m.cs.uiuc.edu> Date: 16 Aug 88 19:55:00 GMT Lines: 28 Nf-ID: #N:m.cs.uiuc.edu:5200012:000:1133 Nf-From: m.cs.uiuc.edu!robison Aug 16 14:55:00 1988