什么是好的数据结构_知乎热议:数据结构算法至上还是技术至上?网友:数据结构算法是决定大厂面试成败关键...

ed311fd407332f95a65415f776e0826a.png

  新智元报道  

来源:知乎

编辑:雅新、舒婷

【新智元导读】近日,一位网友在知乎上发起提问:计算机学生在大学四年应是以数据结构和算法为重还是技术为重?引来网友纷纷围观,侧重数据结构算法、技术侧,还有两者兼顾的呼声皆有。
读计算机专业的你,大学四年是否还在迷茫是以数据结构和算法为重还是技术为重?   要想解除疑惑,先要知道计算机科学与技术这个专业都包含了什么。   顾名思义,科学与技术是构成这一专业的主要两个部分,所学课程也主要这两部分内容为主:像操作系统、计算机网络、数据结构与算法等课程都属于科学侧,而web网页设计、C++程序设计等课程则属于技术侧。

数据结构和算法:决定大厂面试成败的关键

Pascal之父尼古拉斯·沃斯曾靠一个公式「算法+数据结构=程序」获得了冠有计算机界诺贝尔奖之称的图灵奖。从这个公式中不难看出,编程从本质上来说就是算法加数据结构,而算法是编程思想的核心部分。

       c9d30fa9ec482bff1dee965439abe51b.png       

编程可以将现实世界中的具体需求「翻译」为代码,数据结构和算法为我们如何翻译和解决现实问题提供思路,就能使用编程语言与计算机进行沟通从而实现各种需求。

网友纷纷表示,「应当以数据结构算法为重,一线大厂更多考察的是对数据结构和算法的掌握程度。」

        5f6a10815bb5e92028f9c8f85271a532.png        

「如果不会数据结构和算法,面试这一关都过不去。」

        cbf5e5acfd6b434d0ee1ced412fd0b75.png      

数据结构和算法为什么那么重要?

        c535e7d99404e6c58039ee3e75b4db17.png       

1、升职加薪的依据。数据结构和算法能够高效解决面临的复杂问题,是为boss省钱的技术。

2、进入大厂的敲门砖。比起编程语言、框架,面试官其实更看重候选人能否能运用数据结构与算法来高效解决给定问题。

数据结构与算法功底扎实的程序员,其技术实力、业务能力、自学能力大多都不会差。对于大厂招人来讲,如果候选者的算法基础很好,就意味着以后进入公司学习新技术的成本会大大减少。

就如同金字塔一样,数据结构和算法在最底层,而技术只是最上面的一部分。地基没打扎实,将来定会遇到瓶颈。因为脱离数据结构和算法的技术往往门槛低,可替代性强。你会的,他人通过社会培训也可以在短时间内掌握一定的技术,无疑将来会在自己的岗位竞争很激烈。

腾讯安全联合实验室表示,「包括腾讯在内的许多大厂,会把数据结构和算法,特别是算法作为面试中的重点内容,是取得offer的关键。」

「而一个人对数据和算法的理解,可以体现出他是否能在编程工作中灵活选用合适的数据结构和算法,有效降低代码的复杂度并提升任务的完成效率,能够直接体现出一个人对于编程这项工作的理解深度和实力。」

      208c33df46d99b49bef2dbe9c12246cb.png       

业务和技术挂钩,而非数据结构和算法

讨论中,「数据结构和算法」的支持者似乎占了大半,只有零星的开发者站在了技术侧。   当然,这样的场景也合乎常理。这就好像你问高中教育是「应试教育」重要还是「素质教育」重要,我相信会有超过一半的人站在「应试教育」的一侧,原因很简单,应试能力决定了你是否能进好的大学。   同样,在开发者程序员的领域,数据结构和算法掌握的牢固才能过大厂的面试,不然你也没机会展示你的技术能力。这就直接导致了凡是有「转码」念头的求职者全民刷leetcode,这盛况让我想起了高考时期的《五年高考三年模拟》。       a2d97b9520cf23f1740d3b25ba236547.png         然而知乎用户@老张的一针见血了:虽然大厂用leetcode来考面试者的数据结构和算法,但那本质也是「应试」——你刷的那些算法之后大概率也不会接触到;接触到,你也不会用。           99bd2e741ba7e5fb569a1fe643479ad6.png           换而言之,你掌握的leetcode层次的数据结构和算法,很可能只是让你做个题。真正讲到学术性的数据结构和算法的时候,你也得哑然了。   另一个知乎用户@清寰就指出了, 真正的算法,入门门槛很高 ,并不是刷题就能解决的,需要你有很强的逻辑思维能力。同时他还表示, 技术是为业务去服务的,没有业务要求的算法毫无意义。         a5b5ee2dc73f9041ff430f83f41c6036.png         也有计算机系的学生现身说法。知乎用户@yuantailing就指出,数据结构与算法在本科课程中的比重寥寥,最后真正在科研中选择算法也很少。          51086d13797170600aa97ad69a704af0.png         诚然,想要斩获大厂offer你需要在数据结构和算法的题目上有出色的表现,但要在实际落地中表现出色,则是考验开发者的技术能力。

选择并不互斥:数据结构算法和技术都可以做的很出色

小孩子才做选择,大人只会说「我全都要」。

知乎用户@maggch就指出,这两个选择不是互斥的。如果真的想要在计算机领域有所成绩,那么两个部分都需要你付出努力。

       5aad86a63dca6794503d0427e7b2cd41.png        

同时他还指出,刷leetcode并不是仅仅为了应试,有的时候去理解吃透题目的出题知识点和出发点是很重要的。除了会使用工具进行应用开发,还要去了解背后的原理细节。不然学任何方面都只是皮毛。

的确,另一个知乎用户@Ire写了这样的一个比喻:

      69b13a23a6d35960e6ea9bfed56f5335.png    

这和知乎用户@橘猫胖胖的观点不谋而合:

      b850dda38a5832cbb061b4d0865d50e9.png

数据结构与算法就是开发者的基本功,很多时候决定了你能到什么样高度的平台。但是,到达这样的平台之后,和工作更贴近的还是技术,这也决定了你的工作上升空间。因此,是否有合格的基本功需要自己判断,究竟需要在哪个方面下功夫是因人而异的。

就像知乎用户@路鹅甲说的那样,这不是一件非左即右的事情。

       8653e8f824067a606ef1fb0fa7a6022f.png       

最后,在这个讨论里面看到了一个很有趣的观点和大家分享一下:

       c3ec155288000c6501b8c55bda12c28e.png     

真的没有热爱计算机的程序员吗?

参考链接:

https://www.zhihu.com/question/395908518

95b155638f20b52fe085b875e2b36940.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bad climate change may greatly increase the fragility of the country. How to evaluate the impact of climate change and mitigate the impact of climate change has become an urgent problem. With regard to task one, a data envelopment analysis (DEA) model is established to get the country's fragility. First of all, we selected 4 climate factors as input indicators and 5 output indicators. Then, we use the entropy method to determine the weight and then the national vulnerability is divided. At the same time, we get the conclusion that temperature affects GDP and the times of armed conflict directly and affects the fragility indirectly. In view of task two, we choose Somalia as an object of study. First, all the indexes are divided into 5 levels by the method of cluster analysis. Second, we select 10 countries including Somalia, to solve the decision unit matrix. Then, using the model of the problem one, it is found that the increase in temperature and rainfall will cause the national vulnerability to rise and decrease, respectively. Finally, we assign 4 climate indicators to 0 of the decision units, and draw the conclusion that national vulnerability will be reduced without the impact of climate factors. When it comes to task three, we use the rough set theory to reduce the output index to the number of armed conflicts. Then, we use the BP neural network model to predict the conclusion: There is a significant increase in fragility in cases of much more armed conflict and abnormal temperature. When the average annual armed conflict is certain, the national vulnerability index will face an increasing turning point at the temperature of 10.01 and the rainfall of 1823mm. As to task four, three policies on energy reduction and emission reduction issued by the government have been selected, and a model of carbon cycle is established. Taking China as an example, we calculate the extent of the change of the average temperature by reducing the carbon dioxide emissions from the state, and calculate the change of the national vulnerability through the change of temperature. We conclude that when the temperature drops 1.9 degrees, the national vulnerability decreases by 0.1593 and the cost is 20.3 billion $. Last but not least, due to the relative accuracy of the DEA model, the urban fragile performance is accurately predicted while the continent is not. In this paper, the TOPSIS model of distance entropy of three parameter interval number is used to modify the decision matrix of the DEA model. By increasing the upper and lower bounds of the interval, the value of the decision unit is more accurate, and then the weight of the index is modified based on the schedule. When we use the North American continent for test, the error was about 2.9%。 主要解决国家脆弱性的问题,欢迎下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值