排列组合算法小结(未完)

本文总结了C语言实现的排列组合算法,包括递归、回溯和高效算法。内容涉及全排列、组合的递归及回溯实现,并提供了一个高效组合算法的例子。文章通过代码展示了各种算法的应用。
摘要由CSDN通过智能技术生成

做GCJ 2011 Qualification Round中的C题遇到的,以前居然没有接触过,囧。。。

组合算法有三个,这里给出了递归和回溯的方法,我照搬了一下,不过改成了C实现。。。

回溯法貌似挺慢的,做题时有个大数据的test,结果跑了6,7分钟都没跑完,这里又给出了一个高效的排列组合算法,我把组合实现了,排列我觉得不是很高效,暂时没写。。。

这里有全排列的递归算法,我给搬过来了,做swap时本想用异或实现的,可是注意到i,j可能指向同一个值,结果异或之后变成了0,无奈改成普通的交换方式

 


 


还不太完整,有机会补全。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值