问题描述:设是要进行排列的n个元素.其中元素可能相同.试设计一个算法,列出R的所有不同排列.
算法设计:给定n及待排列的n个元素.计算出这n个元素的所有不同排列.
数据输入:由文件input.txt提供输入数据.文件的第1行是元素个数n,1≤n≤500.接下来的1行是待排列的n个元素.
结果输出:将计算出的n1个元素的所有不同排列输出到文件output.txt.文件最后1行中
的数是排列总数.
第1题
Random Permute Array(A) //数组A[1..n]
1.for i←1 to n do
2.产生{i,i+1,…,n}上的均匀随机数k
3.交换A[i]与A[k]
这段程序能起到随机化输入,使其服从均匀分布的作用.比如,在快速排序算法的前面加上这段程序,就得到随机快速排序算法.
第2题
第3题
算法设计:设计一个蒙特卡罗算法,对于给定的矩阵A和B,判定其是否互逆.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n,表示矩阵A和B为n×n矩阵.接下来的2n行,每行有n个实数,分别表示矩阵A和B中的元素.
结果输出:将计算结果输出到文件output.txt.若矩阵A和B互逆,则输出“YES",否则输出“NO".
第4题
算法设计:给定n及n个元素{1,2,...,n}的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列.
数据输入:由文件input.txt提供输入数据.文件的第1行是元素个数n.接下来的1行
是n个元素{1,2,...n}的一个排列.
结果输出:将计算出的排列的字典序值和按字典序排列的下一个排列输出到文件output.txt.文件的第1行是字典序值,第2行是按字典序排列的下一个排列.
第5题
(1)试证明当n充分大时,k的期望值为.其中,.
(2)由此设计一个计算给定集合X中元素个数的概率算法.
第10题
A.删除所有值为x的元素
B.在最后一个元素的后面插入一个新元素
C.顺序输出前k个元素
D.交换第i个元素和第2n-i-1个元素的值(i=0,i,…,n-1)
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!