回 帖 发 新 帖 刷新版面

主题:一个急手的问题

请高手帮忙呀[em10]
生成n个对象的n!个排列
问题描述:设有n个对象,可以用1,2,3,…,n表示之,则{1,2,3,…,n}有n!个排列。
算法的输入: n
算法的输出:{1,2,3,…,n}的n!个排列。

二、提示:
算法要点:借用结点标号(多元组)来标识排列,则一般来说,生成{1,2,3,…,n}的n!个排列可归结为:取{1,2,3,…,n-1}的一个已知排列,把它看成是线形表L,将n依次插入L中n个可能位置的每一个位置,即可得到{1,2,3,…,n}的n个不同排列。可以编写一递归过程实现上述想法。

回复列表 (共2个回复)

沙发

是棘手吧

深搜,问题的算法是很低效的,n别太大了

板凳

那为实力派高手帮我提示一下好吗

我来回复

您尚未登录,请登录后再回复。点此登录或注册