当前位置:首页 > 每日看点 > 正文内容

会写递归超越了多少程序员?

卡卷网9个月前 (12-12)每日看点131

一般来说公司代码里写递归的只有两种人。

一种是大拿,他写的代码基本上就是你司的最高水平,他怎么写代码你最好别质疑,因为他大概率是你司最权威的开发,他写成这样自有他的想法。

另外一种,是公司的BUG制造机,基本上名下挂着一裤衩子BUG改不完,关键自己还觉得自己很厉害,这种人一般离开除只差一个重大事故。

鉴于你问“会写递归超越了多少程序员?”,我觉得你大概率是后一种。


有一种脑子就是认死理,知乎小鬼太多了。非得跟我说树状结构只能用递归遍历,唉,上点干货吧。

首先你得知道,基本上树状结构都是从数据库加载进来的,每一个节点都是在数据库里的一行。而这些节点其实都在一张表里。

那么,我就可以根据这张表建一个数组,数组里有这棵树上的每一个节点,然后只需要通过遍历这个数组,你就能用这个数组去组成一个树展示在画面上,最笨最笨,你用一个循环加一个节点名-》节点指针(如果是java这种现代语言直接用对象就行,class对象其实就是一种限制很大的指针)的字典就能把这个树拼出来。

当你需要取特定特征的节点的时候,你也不需要去刚才生成的那个树里取,直接找刚才那个数组,就能取到任何一个节点。

当你需要修改节点在树上的位置的时候,你只需要修改这个节点的父节点然后重新调用方法生成这个树就可以了,不需要真的把节点挪过去,增删同理。

也就是说,只要你会了如何从数据库里生成树,那么你就能通过循环简单的对树进行任意操作而不需要递归。除非你作为赛博原始人还在用红黑树快速查找数据。

绝大多数算法难题其实都不是你写不出来导致的,而是这个东西在设计阶段就不合理,应该从设计阶段规避这个困难防止死磕一个容易出事的辣鸡代码片段。

树,图等复杂结构都可以通过这个方法取规避递归,特别是图,算法遍历图十个有九个是有潜在BUG的。碰都别碰。20年以前内存值钱,所以算法里会有大量的红黑树等数据结构来平衡查询消耗的时间和内存占用,但是现在你画一百颗树可能都没有画面上的一张图片占内存,扣这点内存不如用白菜价的内存换CPU运算时间来的合适。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/4036.html

分享给朋友:

相关文章

创业:集思广益并完善您的商业理念

用史蒂夫乔布斯的话来说,“做伟大工作的唯一方法就是热爱你所做的事情。开始自己的事业是迈向自己喜欢的工作的一步。但是,从形成想法到创建商业网站,在您深入研究之前,需要考虑几个基本步骤和问题:您要解决什么问题?您的目标受众是谁?您的产品或服务与...

支付宝碰一碰市场如何?

支付宝碰一碰市场如何?

今年,支付宝又整了新的大活,即无须扫码即能完成支付操作的“支付宝碰一碰”正式登场。下面就来给大家分析分析,这是个什么情况,为什么都在说能赚钱。支付宝碰一下怎么赚钱的?都有谁能赚到这份钱?1.支付宝碰一下原理支付宝碰一下的本质依旧是“条码支付...

自媒体如何快速起步?

自媒体如何快速起步?

有两种经验,可供参考。第一种是:现象级的爆火、爆款,这种情况捞到钱,实现财务自由的人并不多,但确实存在。只不过非要说清楚为什么这个账号可以火、可以短时间内赚到普通人一辈子赚不到的钱,他们自己也不一定能说清楚,因为赶上了风口(内外部情况)。举...

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。你直接把你那破比支付宝的代码全删了,重新写一个。打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信,但...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

为什么这次 Mac mini 的 M4 版本价格这么低?

为什么这次 Mac mini 的 M4 版本价格这么低?

扫了一眼这里的回答,目测没几个人真买过 Macbook、Mac mini且真正当主力工作机用过。这个初始(丐版)版本的机器实际谈不上多便宜,备受热捧有几个原因。它这代产品整体做了重新设计,大幅缩减了尺寸,真正称得上 Mini 了。对比前代,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。