黑马程序员技术交流社区
标题:
论算法的重要性以及初学阶段的非必要性
[打印本页]
作者:
龙骑将杨影枫
时间:
2014-12-4 01:16
标题:
论算法的重要性以及初学阶段的非必要性
算法,貌似被认为是一个非常神奇以及高端的东西。无论是挂在嘴上还是写在脸上,都是非常高端的代表。
诚然,算法是编程过程中比较精髓的一部分(注:此处指狭义上的算法),能帮助人将很多抽象复杂的问题模型化,从而解决问题。比如说NGA上战士区的F大用遗传算法写了一套一心狂暴战输出技能优先级的程序,运用到了遗传算法。虽然分析问题的过程我完全没看懂,但是还是觉得十分高大上。实在是身不能至,心向往之。
但是在另一些方面,狭义上的算法并无太大的用处。比如我如果想写一个程序记录我周一至周末的计划安排,无论是遗传算法还是爬山算法都帮不上我的忙。我所需要的是一个MySql数据库、一个写好的JDBC连接,还有一个画好的UI界面。
其实初期练习的只是一种思考模式,解决问题的思考模式。面向过程的“分而治之”,面向对象的“求同存异”。面对一个长的奇形怪状的问题如何厘清自己的思路,然后一刀刀把问题切成片去解决。计算机的思考回路实际上是和人脑不同的,或者说,人脑在日常生活中已经将一种判断模式与判断过程形成下意识的习惯,而电脑没有。比如3,1,5,4,2一串数字,谁都能一眼看出来最小的两个数是1 和2,但是让计算机给出同样的答案,就要先写许多行代码。所以啊,计算机实际上是一个高智商的笨蛋,空有数数的本领,却没有解决问题的思路。
而这个思路,就是广义上的算法。
这里再插一句为什么狭义上的算法看起来高深莫测而且难的离谱。因为实际上高级算法已经不再是单纯编程问题,而是还包含着复杂的数学问题。不知道诸位怎么样,反正我的数学是挺糟糕的。
所以大家没必要纠结于复杂的算法,完全没必要看懂,甚至完全没必要看(包括数据结构,因为java都封装好了,会用就行,当然考研另算)。而且从我的感觉上,如果以后从事java ee企业级开发,用到的地方也不多。现在只需要专注于JAVA能够做什么、如何做到的、如何将主要问题细化成各种各样简单的小问题就可以了。
希望诸位能在自己选定的道路上越走越远,晚安。
作者:
Lscreat
时间:
2014-12-4 09:32
谢谢分享。
作者:
qowoeo7538
时间:
2014-12-10 11:23
学这个,对数学要求多高都不过分。
作者:
提米特
时间:
2014-12-10 18:19
楼主也混NGA吗? 水友你好啊。
算法分析的很好,谢谢你的分享!
作者:
wf111sxwf
时间:
2014-12-10 22:31
作为一个wow45级玩过来的人,在即将踏入黑马的路上看到楼主的帖子 我表示 太棒了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2