|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教一下卧龙先生,
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
771
人关注过本帖
标题:
请教一下卧龙先生,
取消只看楼主
加入收藏
bupthehe
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-8-2
楼主
收藏
问题点数:0 回复次数:3
请教一下卧龙先生,
用插孔法来找数字的全排列,该用什么算法来实现呢?
举个例子,已经知道123的全排列是 123 132 213 231 312 321
想求1234的全排列,对123来讲,它有四个空隙可以插入数字4,出来的结果是4123 1423 1243 1234
同样对132 213 。。。。。321做相同的处理, 就可以得到N=4时的全排列了
只是这个算法该怎么写呢?
想用个递归调用,可是感到是老虎吃天,无从下爪啊!
搜索更多相关主题的帖子:
卧龙
老虎
数字
算法
2007-08-03 08:51
举报帖子
使用道具
赠送鲜花
bupthehe
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-8-2
第
2
楼
收藏
得分:0
以下是引用
bupthehe
在2007-8-3 8:51:40的发言:
用插孔法来找数字的全排列,该用什么算法来实现呢?
举个例子,已经知道123的全排列是 123 132 213 231 312 321
想求1234的全排列,对123来讲,它有四个空隙可以插入数字4,出来的结果是4123 1423 1243 1234
同样对132 213 。。。。。321做相同的处理, 就可以得到N=4时的全排列了
只是这个算法该怎么写呢?
想用个递归调用,可是感到是老虎吃天,无从下爪啊!
多谢
2007-08-03 09:06
举报帖子
使用道具
赠送鲜花
bupthehe
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-8-2
第
3
楼
收藏
得分:0
回复:(bupthehe)以下是引用bupthehe在2007-8-3 8:5...
辛苦了,谢谢卧龙了
我比较不清楚的地方就是这个函数的调用,刚才我是给你举个例子,就是说已知3的全排列,求4的全排列
我想做的是,求N的全排列。方法是用N来递归调用(N-1)的全排列,N-1调用N-2。。。,一直到N=2,全排列为12 21;
问题就出现在,这里面N 与N-1都是一个变量,如果用数组来实现的话,而数组的长度必须是定直的,不能随着变量的更改而更改
伪代码如下:
num(N)
{if N==2 生成一个2维数组,里面是 1 2 2 1};
N>=2 则调用num(N-1) 根据num(N-1) 来构造出num(N)这个数组}
实际实现的时候,就是这个数组的长度是不确定的,而用链表则插入起来太麻烦了
}
2007-08-03 09:45
举报帖子
使用道具
赠送鲜花
bupthehe
等 级:
新手上路
帖 子:61
专家分:0
注 册:2007-8-2
第
4
楼
收藏
得分:0
哦,多谢
2007-08-03 10:24
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
请教一下卧龙先生,
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.067928 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved