有友友真能做到数据结构和算法达到行云流水庖丁解牛的地步了吗?

2023-08-26 05:22:12 +08:00
 wanderingaround
都说数据结构与算法不依赖与某种语言与具体实现?如果真正掌握连都不能实现就算掌握了我打个问号? github 上有数种语言的实现也不必存在了,直接放个概念就行了。

我们都知道程序是数据结构和算法,数据结构(内存逻辑划分)不过是一块内存连续或者非连续内存单元的集合以及对其的相关的操作,对数据结构的一些操作也可以说为算法,或者对某一问题有输入输出,同一问题有不同的解法或者范式。

CPU 指行相关的指令,操作内存当中的数据以及指令。一切语言实现的程序都是这样。那问题来了,现实当中,切换语言为啥成本这么大,按道理你掌握一门语言学习其他语言应该要不了一上午吧,但为啥你一碰到相关业务(在业务搞清楚下)不是 Google 都是其他方式,不就是你硬编码能力不太行吗,最本质的不就是数据结构与算法不太行嘛,那问题来了,你说你会数据结构与算法,但为啥反复重复学习,不是调 API 就是调 API ,你把标准库常用的数据结构用熟悉了但是不能用语言实现出来,这叫会数据结构吗?

我的意思是有真正会数据结构与算法不,给你一篇算法相关论文没有伪代码的情况下你能用语言实现不,leetcode 或者给你任何一个问题你能很快用语言实现出来不,用数组或者链表可以实现各种数据结构不,不是知道个概念不能实现的假的会数据结构与算法。
2062 次点击
所在节点    问与答
17 条回复
wanderingaround
2023-08-26 05:25:43 +08:00
多线程不同语言实现可能要花点时间了解下
cassyfar
2023-08-26 05:37:22 +08:00
你不会实现是怎么过的面试?现在面试不就是卷这些吗
wanderingaround
2023-08-26 05:45:30 +08:00
@cassyfar 我有个认识的人一说到数据结构与算法就侃侃而谈,感觉特别会,但是一叫他用代码实现数据结构与算法就不知道咋写,这叫会吗?
hello2090
2023-08-26 08:06:29 +08:00
@wanderingaround 你觉得他会吗?会不会他的所谓侃侃而谈也就能忽悠你。。
vtemp249
2023-08-26 08:14:31 +08:00
现在有 copilot 和 ChatGPT 辅助写代码,关键在于思想
NonClockworkChen
2023-08-26 09:44:32 +08:00
本质是人与人之间的智力差距大到无法想象的地步。
举个游戏的例子,炉石传说 朝神,我记得中美对抗的时候,老外好像都是数学爱好者或者从业人员类似这样的职业了,所以国内的顶尖主播前 3 个出场的根本打不过,全输了。然后朝神一穿三。
xmumiffy
2023-08-26 09:55:19 +08:00
不考虑框架之类的东西,给个函数签名写代码,那确实一两天就能转换语言
shakoon
2023-08-26 10:30:00 +08:00
用自然语言描述算法那可太简单了(画 ppt )。但要转化成能运行的代码(做出能用的产品),那就是真正的技术能力了,大部分人确实是不具备的
roycestevie6761
2023-08-26 10:36:31 +08:00
能侃侃而谈也不错了
yinmin
2023-08-26 10:40:47 +08:00
现在大都是打螺丝的岗位,不需要算法。真正卷算法的,都是初中/高中卷 noip 和 noi 的大牛。如果初中没卷过算法,工作了就背八股文面试用,工作中不要去和这群人卷算法。

前几年有一群高中疯子,全脱产 1 年,跟着名师卷算法,为了竞赛得奖能自招/直升大学。

如何识别算法大牛,就聊聊初中/高中的信奥,如果入集训队直升大学的,就是大牛中的大牛。
sylxjtu
2023-08-26 10:51:27 +08:00
楼主见识还是有待提升,不说 oi 和 acm 之类的,你写 leetcode 一些 hard 题也得用数组实现 finwick tree 和 segment tree
yinmin
2023-08-26 10:56:12 +08:00
卷算法的高中疯子,大都初中开始学信奥,高中全脱产 1 年只攻信奥,跟着名师卷算法,为了省一、入冬令营、进国集、直升北大清华,如果没卷进国集,也能自招入大学。

这群人都是科班学算法的,可惜 2020 取消大学自招改强基,就没这么疯狂了。
20015jjw
2023-08-26 11:06:28 +08:00
正经科班出来的 不是基操吗……
起码 leetcode medium 学点套路肯定能举一反三吧….
cassyfar
2023-08-26 11:19:43 +08:00
@wanderingaround 不叫,这种面试就挂了。现在面试一般至少 leetcode 一道 medium 写出来没 bug ,medium 难度就是 dfs ,bfs ,tree 这些。
gpt5
2023-08-26 13:37:58 +08:00
准备竞赛时,各种算法题都能在白板上直接手写,报错算我输。
geelaw
2023-08-26 13:59:31 +08:00
楼主应该巩固一下现代汉语,0 楼的内容读起来很不连贯。

另外我觉得“掌握”“懂”是很虚的概念,即使考虑这个概念,“掌握”“懂”也可以分不同的等级。就我个人经验来说,“懂”和“可以用各种语言实现”数据结构和算法,可以是完全不相关的两码事儿,前者是计算机科学问题,后者是计算机技术/工程问题。

我小时候并不“理解”快速排序和并查集,但是了解任何语言的基础知识之后都可以很容易写出快速排序和并查集。我写快速排序至少两年之后才理解快速排序,而且我至今也不能算是理解了并查集——没有内化它的复杂度证明就不算是理解。
Ocean810975
2023-08-26 19:55:17 +08:00
@wanderingaround 某些大学教授现状,好多计算机方面的教授其实是不写代码的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968399

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX