12位数的全排列要40秒!!!

boomni 2012-06-17 11:25:35
你写的要几秒?
...全文
219 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
boomni 2012-06-18
  • 打赏
  • 举报
回复
非递归,深度优先,不开内存,10位及以下还是秒排,11位时就要3秒多,12位要40秒,你们写的呢
boomni 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
先看看stl里的算法,再比较
[/Quote]
就是实现的STL里的next_permutation,自己写的,
ouyh12345 2012-06-18
  • 打赏
  • 举报
回复
先看看stl里的算法,再比较
三条猫 2012-06-18
  • 打赏
  • 举报
回复
围观,算法贴出来看看
dahaiI0 2012-06-18
  • 打赏
  • 举报
回复
不知道,反正昨晚写的,一直运行到现在还没出结果。
boomni 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
不开内存?
这样当然会慢很多了,当复杂度提高后,性能当然显著下降
[/Quote]
我就是开个数组a[50] = {1,2,3,4,5...}这样,产生一遍,正确性验证后,去掉打印,从头跑一遍,要那么多时间,要想保存结果,打印处我改成申请内存,随便用一个链表保存就够了,算了下估计要几百M内存,所以去掉了,就看从头开始产生,到产生结束的时间,递归的也做过,不过我测的递归1000层的时候好像就极差---我是说深度优先的递归1000层的时候,出第一个结果都极慢,500的时候还好其它没试,
ouyh12345 2012-06-18
  • 打赏
  • 举报
回复
不开内存?
这样当然会慢很多了,当复杂度提高后,性能当然显著下降
boomni 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
不明白你的全排是什么意思。
我用网上的老外写的Qsort代码,1秒可以对1000万个随机数排序。
[/Quote]
1 2 3 4 5 。。。11 12 的全排列,都产生一遍,要多久
hztj2005 2012-06-18
  • 打赏
  • 举报
回复
不明白你的全排是什么意思。
我用网上的老外写的Qsort代码,1秒可以对1000万个随机数排序。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧