V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Idiosyncratic  ›  全部回复第 3 页 / 共 4 页
回复总数  67
1  2  3  4  
2013-05-10 15:48:14 +08:00
回复了 justfly 创建的主题 程序员 为什么我不习惯用递归,这方面我应该怎么加强?
@Cadina 尾递归只是一个编译优化而已,没你说的那么神奇吧,还是那句话,尾递归只能优化在递归函数最后调用递归的问题,而且做法就是把这样的递归改成与for循环类似的样式;
递归的简洁、抽象是必须的,但是在实际系统里它的效率问题也很明显。你认为递归和手动维护这样的耗费是一样的,这个我觉的不准确,递归的性能消耗有这么几个方面:
1、它每次都需要把所有的局部变量压栈,不管这个局部变量还要不要用;
2、它是一个函数一个函数为单位进行调用的,调用函数是有消耗;
以上两个方面在迭代次数不大的时候其实不是啥问题,但是次数一多就会成为问题了;
而递归需要的消耗,在for循环一类的迭代里完全可以避免。
就拿深搜来说,一般用for循环迭代之前,都会先开一个容器(数组,字典都行),把所有节点的初始状态保存进去,然后每遍历一个节点修改容器里相应的元素内容,很多在递归里需要的消耗(压栈,出栈,跳转等)在这就没有了;

尾递归优化当然是很好的东东,但是目前应该还没有可以把所有递归都优化的很好的法子;所以我感觉递归的效率还是有些低。

当然,递归最大的问题还是它很容易把栈给挤爆。。。
2013-05-10 13:14:29 +08:00
回复了 justfly 创建的主题 程序员 为什么我不习惯用递归,这方面我应该怎么加强?
@Cadina 尾递归只能优化尾递归,又不能优化各种递归,如果是递归函数里调用两次递归(深搜二叉树),这样还是没法优化啊。。, 所以递归递归效率的确不高
2013-05-09 20:55:57 +08:00
回复了 Hualin 创建的主题 Python # python 学习:各种类之间循环引用,以及参数传递
@yuelang85 嗯,学习了,试了一下@yuelang85的测试,的确是这样的。多谢!!
2013-05-09 17:42:01 +08:00
回复了 Hualin 创建的主题 Python # python 学习:各种类之间循环引用,以及参数传递
@raquelken 嗯,那也是,所以说,我觉得那片文章讲的只是python底层object和name的如何绑定的关系,并没有解释参数传递的方式;具体在参数传递上应该还是和其他面向对象语言很像,要看对象的类型,值类型就值传递(int,或是C#里的struct),引用类型就引用传递;
以上只是猜测哈,我没仔细研究过python,不过感觉用着像是这么回事
2013-05-09 15:46:53 +08:00
回复了 Hualin 创建的主题 Python # python 学习:各种类之间循环引用,以及参数传递
@raquelken 我感觉,lz想问的是参数传递的方式而不是object的底层实现啊。。,

其实按照那片文章的意思,所有的名字其实都是一种 对于对象的指针(比喻而已,暂时想不到更贴切的),那么所有的参数传递应该都可以视为引用传递
2013-05-04 15:58:01 +08:00
回复了 cloverstd 创建的主题 Python 写爬虫的时候验证码怎么处理?
@lazybios 我没试过,不知道这个法子靠不靠谱,不过有些类型验证码貌似的确可以被OCR识别出来,有些就不行了。。。,据说那种字歪歪扭扭的是很难用机器识别的,而那些只是大小不一的字符的话,机器可以识别
2013-05-03 13:46:58 +08:00
回复了 cloverstd 创建的主题 Python 写爬虫的时候验证码怎么处理?
可不可以试试开源的OCR库,来识别一下看看,失败再发微信人工识别
2013-04-28 00:13:40 +08:00
回复了 yanng 创建的主题 分享发现 爱看豆,从新来过,我顶你!!!
@swulling amazon不好说,duokan上面的书真心少啊。。。,而且,看了一下根本没几本我想看的。
2013-04-28 00:08:37 +08:00
回复了 hidden 创建的主题 分享发现 这里有人关注这玩意儿么 -> 霹雳布袋戏
杀生为护生,斩业非斩人。。。佛剑分说帅啊。。
哪个破公司,公开一下呗
同意楼上,都不难入门,多学点呗。个人感觉,php是用在服务器上的的,python倒是那里都可以用吧。
我感觉你这么问是没用的,因为,js开发一般都是一起来的,就是你要同时学html,css,和js。但是关键问题是。。。。,他们都不难上手啊。所以,我建议你先去W3School把html,css,js学完再说吧,那里的东西都很简单;或者,你直接动手写个网页,边写边查就会了
2013-04-24 13:42:42 +08:00
回复了 XDA 创建的主题 分享发现 发现 Google I/O 一个好玩的地方
0011001食物啊。。
2013-04-24 13:32:04 +08:00
回复了 Hua 创建的主题 分享发现 错手用了下百度,被扒的光光的
这肯定是权限问题的啦,百度再牛也不可能通过web访问就获得你手机的号码信息的,只有本地软件可以做这种事。
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   845 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 21:16 · PVG 05:16 · LAX 14:16 · JFK 17:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.