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

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

卡卷网1年前 (2024-12-12)每日看点220

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

分享给朋友:

相关文章

逾期后支付宝微信被冻结,显示执保该怎么办?

这几天有朋友问我说,他的微信零钱突然的用不了,问我是不是被冻结了,问我该怎么办?是不是被起诉了?这个,那个,别慌,别慌,还是那句老话:有钱就去协商,没钱只能暂时不管!但是真不管,这个被冻结的微信怎么办呢?今天针对这个问题,我就给大家做一哥比...

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯神贴合集完整版,给大家整理好了!那年大学,打开天涯,感觉打开了一片新天地,里面什么样的人都有,有大神也有蛇神,比某乎好太多了,可惜后面关了很多年前,天涯社区曾出现了不少深受欢迎的帖子,成功地预言了许多形势和事件。这些帖子因此被冠以“天涯...

4499 元起的荣耀Magic7 系列实际使用体验怎么样,值得入手吗?

全是软文。。。。。。不过我买了,标准版。为什么买荣耀:屏幕看着舒服,玩游戏选择大屏,超声波指纹解锁。其它,系统、续航、充电、拍照,不是最强,但均衡下来短板都不是很短。其它米OV,IQ、一加,都看了,预算有限,米OV的小屏不感兴趣,OPPO硬...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

你怎么看待软件测试这个工作的?

你怎么看待软件测试这个工作的?

先说一个插曲:上个月我有同学在深圳被裁员了,和我一样都是软件测试,不过他是平安外包,所以整个组都撤了,他工资和我差不多都是14K。现在IT互联网已经比较寒冬,特别是软件测试,裁员先裁测试,这几乎都是定律。我最近看了某音很多应届生以及去年毕业...

我真的需要有人帮我选耳机!!如何挑选第一款头戴式耳机?

我真的需要有人帮我选耳机!!如何挑选第一款头戴式耳机?

挑选第一款头戴式耳机时,应综合考虑多个因素。‌首要考虑的是佩戴舒适度,其次是音质、降噪效果、续航能力和蓝牙版本‌。‌佩戴舒适度‌:选择轻量化设计,单耳重量不超过200克,材质柔软透气,如亲肤仿蛋白皮,以提升佩戴舒适度。‌音质‌:大尺寸的音频...

发表评论

访客

看不清,换一张

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