通常,具有n个元素的数组的随机排列意味着来自n!可能性的均匀分布,Knuth混洗用于做到这一点:
for i from n − 1 downto 1 do
j ← random integer with 0 ≤ j ≤ i
exchange a[j] and a[i]
但是由于a[i] != i的限制,我不知道如何统一地形成这样的排列。
例如,当n= 3时,如何从下面的可能性中随机形成一个排列?
{1, 2, 0}, {2, 0, 1}
我正在做一个在线测验,在数据库中有id opt1-opt4和答案。
我正在使用函数调用问题
$con = mysql_connect("localhost", "ashu","ashua");
$db=mysql_select_db("quiz",$con) or die(mysql_error());
$display = mysql_query("SELECT * FROM quiz ORDER BY rand() LIMIT 2");
if (empty($_POST['submit'])
我想构造一个双射函数f(k, n, seed)从[1,n]到[1,n],其中1<=k<=n和1<=f(k, n, seed)<=n对每个给定的seed和n。函数实际上应该从1,2,...,n的随机排列返回一个值。随机性由seed决定。不同的seed可能对应于不同的排列。我希望f(k, n, seed)函数的时间复杂度对于每个1<=k<=n和任何给定的seed都是O(1)。
谁知道我怎么能构造这样的函数呢?随机性允许为伪随机性.n可以非常大(例如,>= 1e8)。
可能重复:
为了在我的应用程序中模拟不同顺序的输入序列,我想为数组输入生成一个随机序列列表。例如,给定一个arr10,默认的序列是0,1,..,8,9,但是,我想将序列操作成随机顺序,例如,2,4,5,1,9,0,3,7,8,6。
我认为rand()会在0-9之间生成一个随机值,但它不能保证每个元素至少生成一次。在这种情况下,我正在考虑下面的伪,但是否有更好的方法产生随机输入序列,并确保在给定范围内的每个数字至少产生一次?
round #1:
generate a random number within 0-9.
let say 2 is selected
在由多处理调用的函数中,numpy ndarray的作用域是否不同?下面是一个示例:
使用python的多处理模块,我将调用如下函数:
for core in range(cores):
#target could be f() or g()
proc = mp.Process(target=f, args=(core))
jobs.append(proc)
for job in jobs:
job.start()
for job in jobs:
job.join()
def f(core):
x = 0
x += random.ra
我的问题是,我希望我的程序在0到3之间的数字范围内做出四个独特的随机选择。我试图在随机类中做到这一点,但我做不到,如果你能通过代码来帮助它,那就太好了,我的程序会像这样清楚地说明这一点。
my range
0 1 2 3 randomly chosen number 3
0 1 2 randomly chosen number 1
0 2 randomly chosen number 2
0 it will choose 0 and then the program closes
我试图构建一个随机的JS单词列表生成器,但是这里的代码只生成一个单词。实际上,我希望它能从先前给出的列表中生成一个30个单词的列表,它可能是一个60字的列表或700个单词,但是结果应该是30,没有重复的单词,但我不知道如何实现。
此外,我希望访客介绍他们自己的单词列表,然后点击“生成一个新的单词列表”,然后该页面将随机化,并在每次单击该按钮时给他们一个30个单词的列表,顺序不同。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd