不会算法不懂数据结构不明原理的程序员能走多远?

2015-07-08 10:07:56 +08:00
 muyege

RT,大专没教数据结构,算法也没学过,工作3年了,现在学还来得及不?有学习路线推荐吗?

13685 次点击
所在节点    程序员
69 条回复
sneezry
2015-07-08 13:16:45 +08:00
闻道有先后,啥时候都不晚
Andiry
2015-07-08 13:16:51 +08:00
@liprais 嗯,程序能够完成功能就行,哪怕比别人慢几个数量级也没关系
liprais
2015-07-08 13:18:45 +08:00
@Andiry 偷换概念了吧
“解决问题“ != "程序能够完成功能"
hahastudio
2015-07-08 13:18:52 +08:00
@liprais 话是没错,但那是对普通用户啊
总用别人包装好的魔法盒子,渐渐地你就不再是魔法师了,就应该归到麻瓜那一列了
liprais
2015-07-08 13:23:50 +08:00
@hahastudio 每个人都在用别人包装好的魔法盒子:-)
Andiry
2015-07-08 13:28:32 +08:00
@liprais “如果他写的程序能够完成他的功能的话,"写程序不学数据结构和算法"又有什么关系呢。”
原话还给你
Email
2015-07-08 13:37:15 +08:00
感觉软件工程的思维还有做事的态度也很重要.

打比方说一个功能,
我们不管这个人基础如何会不会算法会不会数据结构.
他完成了,并且对自己写的功能有充分的测试再交付.省心
当然这个测试就看个人的能力了,到底是通过代码来覆盖测试用例.
还是自己手动地去把该功能的种种分支都测试完毕了.

总之一句话, 这个人靠谱. 很重要对吧.

其实没什么考究的, 作为程序员,还是要会算法更吃香.
如果说算法用不上, 说明你还没到达一定的高度 对吧.
bk201
2015-07-08 13:38:40 +08:00
先写程序再去学这些东西,会有种豁然开朗的感觉。先学这些东西再编程很容易陷进去出不来。
CommandZi
2015-07-08 13:47:53 +08:00
@sneezry 赞,别人起码有学习这个的意识和态度。而不应该像某些人一样地冷嘲热讽。
sankooc
2015-07-08 14:14:05 +08:00
其实只需要知道有这么个东西就行 具体的即使学了工作上不用的话 也会忘的
beimenjun
2015-07-08 14:17:54 +08:00
其实数据结构和算法,是很有意思的一个地方。仔细理解不一定很快能体现在工资里,但是对于不少人而言,数据结构和算法很可能是一个人真正热爱编程或者“真正认为编程其实是一件很Cool的事情”的起始。

因为这其实是很具有美感的一类东西。
paulagent
2015-07-08 14:20:20 +08:00
说不准未来有一天,真有人造个机器人,写程序,程序员的工作就变成流水线工人,专门监视机器人了
caiya21
2015-07-08 14:35:14 +08:00
这个还是要学习下把
lecher
2015-07-08 14:43:34 +08:00
如果不会算法不懂数据结构,永远只能做拿到架构、明确的需求、基本的实现步骤(甚至伪代码)之后,去写实现代码这个层次的工作。

比如说架构一下项目结构,分析一下系统瓶颈,优化功能提高效率这类附加值更高的岗位,是没机会去做的。因为没有算法和数据结构的功底,根本不能去分析出问题的原因,也没办法去做优化的工作。

大家都说epoll模型比selector模型处理网络请求效率高,为什么?
如果系统某个功能很忙,要不要用请求队列,怎么计算会有多大的延时,数据一致性怎么解决?
大家都说nosql很快,为什么?在什么地方使用nosql合适?用了的话可以节省多少处理时间,减轻多少负载?
要做一个推荐系统,要怎么处理数据?会产生多大的负载?计划任务需要间隔多长时间?

如果上面的问题没有能力分析,那下面的问题呢?

要做一个逆序列表的事情,用什么方式效率和健壮性比较好,为什么?
如果一个列表有多个数据源的数据需要组合,用什么方式合并成一个列表显示比较好?
如果有一组图片要加载,怎么实现优先加载最后查看的图片?
lecher
2015-07-08 14:54:25 +08:00
会算法和数据结构,不见得在工作中有多么突出的表现。也不见得工资会高多少。
但是真要遇到了问题,算法和数据结构的思想,绝对可以帮助我们有效的分析问题、量化数据。因为算法和数据结构就是计算机运行的思维方式,如果都不会,还怎么去分析?靠看别人写的报告?还是靠蒙?
学完了不用,可能会生疏,但是只要认真的去思考过,思路是不可能忘的。
学过的知识用不上只能说明岗位需求没有用到,不代表它没有用。高等数学的很多东西,大部分人是够不上它的运用门槛的,但是实际分析问题的时候,会借鉴到很多当初学习过程所使用的思路去分析问题。这些思路才是真正的知识财富。
fuxiaohei
2015-07-08 15:00:45 +08:00
学数据结构这些更像练内功
不过,一般情况下拼招式就可以分胜负
mougua
2015-07-08 15:09:29 +08:00
同意 28楼 的,先写,多写,再去补内功
zonghua
2015-07-08 16:55:56 +08:00
( ▼-▼ ) 写一个类去列出文件夹的所有文件与目录,发现这个就是树结构的遍历。
zonghua
2015-07-08 16:56:38 +08:00
@hahasong 对啊,就像我楼上回答的,我是菜鸟。
anjianshi
2015-07-08 17:46:11 +08:00
我就想说,那么多军校出来的,最后谁也没打赢毛主席

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

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

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

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

© 2021 V2EX