社区
新手乐园
帖子详情
一个很淫荡的编程练习
dxcnjupt
2007-04-15 02:17:05
输入一个自然数N,求一个最小的,由0,1组成的,可以整除N的十进制数。
最优化的结果非常之BT。
先缩小一下思路。
假设输入N位数,结果是M位数。
求N的整数倍,然后判断是否符合条件,平均需要10的(M-N)次搜索。
生成二叉树,遍历所有0,1组成的数,平均需要2的(M-N+1)次搜索,服从正态分布。
所以最优化的算法,其实是二叉树的一个广度优先遍历。
关键的问题在于最优化的二叉树实现和遍历方法。
...全文
770
5
打赏
收藏
一个很淫荡的编程练习
输入一个自然数N,求一个最小的,由0,1组成的,可以整除N的十进制数。 最优化的结果非常之BT。 先缩小一下思路。 假设输入N位数,结果是M位数。 求N的整数倍,然后判断是否符合条件,平均需要10的(M-N)次搜索。 生成二叉树,遍历所有0,1组成的数,平均需要2的(M-N+1)次搜索,服从正态分布。 所以最优化的算法,其实是二叉树的一个广度优先遍历。 关键的问题在于最优化的二叉树实现和遍历方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dxcnjupt
2007-04-17
打赏
举报
回复
标题出错了,应该严肃一点的
算了
这是我自己的算法,欢迎拍砖
unsigned long Tree = 0;
while(Tree != 0xffffffff)
{
Tree++
//树遍历过程中的状态迁移,省略
......
......
}
证明如下;
任取树中的一小片,在树头,树尾或者中间都可
n-2层 1
n-1层 0 1
n层 0 1 0 1
当遍历路径穿过其中时,
假设当前状态是100。
则当遍历路径改变时,第n层0->1,其余不变
假设当前状态是101,
则当遍历路径改变时,第n层1->0,其余不变
结论:当第n层改变时,若由0->1,则上层不变;若由1->0,则上层改变。
所以,只要保存下这个二叉树每一层所处的状态,就可以通过状态迁移实现树的遍历。保存一个X层的二叉树,只需要保存X个状态。又因为每个状态只有0,1两种情况,所以只需要1个变量就可以保存下32层的二叉树。
通过累加进行遍历的证明:
根据数学归纳法,只要两种方法初始状态一样,变化规则一样,那么它们的所有状态都是一样的。
由简单的思考可知,二进制数累加1遵循的规则,和题目中的二叉树广度优先遍历规则是一样的,所以我们可以用二进制数的累加来模拟这颗树的遍历。
猪小烧
2007-04-16
打赏
举报
回复
?????????????
mLee79
2007-04-16
打赏
举报
回复
标题很YD,留个名先 ..
dxcnjupt
2007-04-16
打赏
举报
回复
此帖是我开,此树是我载,欲从此处过,留下买路钱
麻烦回帖的各位写下算法
实现是很简单的,高效是很苦难的
不想低调
2007-04-15
打赏
举报
回复
哦,mark
Python
编程
练习
100题,python小白零基础入门必修课程
Python
编程
练习
100题将为你揭开
编程
的神秘面纱,为零基础小白提供轻松愉快的学习体验。 学习内容:15类内容+100个知识点+赠17本电子书 适合人员:在校学生/职场程序员 ;自动化工具使用领域同学例如...
伴我成长的
编程
书
一、 这篇文章是应之前在微博上爆过的下个周末某出版...现在手中掌握的很多
淫荡
的技巧正是因为学习了很多
编程
语言的缘故,不过这并不妨碍我正常地使用C++来在合理的时间内完成我的目标。 学习C++是
一个
艰难的过程
伴随我成长的
编程
书
一、 这篇文章是应之前在微博上爆过的下个周末某...现在手中掌握的很多
淫荡
的技巧正是因为学习了很多
编程
语言的缘故,不过这并不妨碍我正常地使用C++来在合理的时间内完成我的目标。 学习C++是
一个
艰难的过程。如果从
伴随我成长的
编程
书,赶紧收藏!!
现在手中掌握的很多
淫荡
的技巧正是因为学习了很多
编程
语言的缘故,不过这并不妨碍我正常地使用C++来在合理的时间内完成我的目标。 学习C++是
一个
艰难的过程。如果从我第一次看C++的书算起,现在已经过了11年了。一...
陈梓瀚:伴随我成长的
编程
书
来源:陈梓瀚的博客(@GeniusVczh) 一、 这篇文章是应之前在微博上爆过的下个周末某出版社的...现在手中掌握的很多
淫荡
的技巧正是因为学习了很多
编程
语言的缘故,不过这并不妨碍我正常地使用C++来在合理的时间内
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章