Re: [请益] 思考能力不强

楼主: aoksc (重出江湖)   2014-10-23 21:11:32
※ 引述《badcode (Person of Interest)》之铭言:
: 老实说不强还太过委婉了
: 小弟是某国立科大的资管系大四生
: 专题是用java写的小程式,只有简单的档案传输和一些小功能而已
: 对于写程式这方面算得上有兴趣,但不强,可能得常常上网查stackoverflow等网站
: 前阵子考了一张OCJP (有很大一部份是用背的),觉得自己java的程度非常之弱,于是又买
: 了些书来加强自己,之后有打算学习开发Android app
: 但在实作一些经典问题的时候 (如 http://openhome.cc/Gossip/AlgorithmGossip/ )
: 发现自己的思考能力简直是差到不行,排序或搜寻那些可能做的出来,但8 queens或骑士
: 的旅程那些简直是想破头还没有半点头绪,看了解说之后可能会豁然开朗 (也可能是一知
: 半解)
: 我知道有些问题在面试时会被拿出来考,万一写不出来或写得太差可能就被扣不少分
: 不知道各位先进们是怎么培养解决问题的思考能力?
: 常看到有些人说只出得起香蕉当然只请得到猴子,我深深地觉得自己就是那猴子...
看你的叙述
我猜你应该以前都没有在玩类似ACM之类的解题系统吧
解题目我认为有两个必要要素
1.你对使用的语言的熟悉聊解程度
程式语言本身就是把你的思想翻译成电脑看得懂的语言
如果你对使用的语言本身就不熟(就你说的你Java很弱)
那么你就不可能会想到要用这语言的什么特性来解决问题
就像你只懂国中单字
那么你是绝对不可能写出莎士比亚等级的文章
我以前写是使用C语言
也是借由写题目我才知道“哇赛原来还有这种写法”
一些奇奇怪怪但又合情合理的写法
这些写法一般中规中矩的教课书绝对看不到
也因为这样让我对程式语言的基本语法的应用更加纯熟
2.如果第一个假设为真(你没写过解题系统)
那么我建议你应该要先从简单的题目做起
很多东西不是一蹴可几
解题目也是要从简单的题目开始解
培养你思考题目的sense
我想有写过题目的人大概都可以了解
当你看完题目的时候大概就可以想出要用什么方式解决(如果这题目没超出你等级太多)
当然这一切的前提还是建立在你对程式语言本身要够熟
第二你题目要写的够多
第三资料结构、算法这些东西也要够熟
照你的叙述你根本就是内力不够就想学天山折梅手
所以你怎样就是过不了天山折梅手的歌诀这关
你内力不够
你的六脉神剑想射出一脉都有问题
即便是ACM决赛等级的队伍
我相信也不是每个人初学阶段看到题目就硬想
而是花了很多时间从基础题目开始练习
等到写到够多遇到难一点的题目用以前的经验
跟在书上学习到的知识融会贯通进而破解题目
一直不断的重复这个步骤
这些人练习的时间是你难以想像的
看过某位奥林匹克竞赛银牌的经历
真的深深觉得高手除了天份就是不断练习了
你现在大四老实说才开始起步已经有点晚了
强者我同学大一就开始在写ACM的题目
到毕业时也已经解了几百题有
书上的题目你没办法自己想出解答很正常
这些都是前人智慧的结晶
如果光靠你自己就能想出书上题目的解答
那么这本书也没存在的必要不是吗?
我推荐你可以去高中生解题系统上练习
里面的基础题满简单的
你现在大四你可以挑战从现在起到你明年毕业写个100题AC
拼一点的话就200题AC
解题的过程中你会常用到Java的一些工具
久了你对Java的熟悉度也能提升不少
还有
其实业界多数的工作要求的是你对程式工具的熟悉
多数工作不会管你ACM写多少题
看的是你会用哪些工具像是Java、C#、JavaScript、Python…
你用过哪些?你多熟?你用这些工具写出过什么作品?
这才是业界多数重视的东西
虽然这样讲很奇怪
但台湾多数工作只要你程式交的出来、会动就OK了
你程式内容写得再烂也不会有人去注意
顶多以后接手的人倒楣而已
会注重你算法功力的公司大概只有顶尖的公司才可能看你这部份
但绝对不是说算法不重要
就像华山派的剑宗、气宗
剑宗可以速成就像那些工具用过很容易就学会
但练到最后容易遇到瓶颈
因为程式语言本身就只是解决问题的工具
重点还是你解决问题的方法
气宗练的慢就像是资料结构、算法
但练成后威力无穷不管什么工具到你手上都能轻松破敌
如果你真的很怕被当猴子的话
那就趁专题的时候多摸一些技术
是用Java的话就去研究JavaEE相关应用与技术
并且应用在你的专题上
这样出去面试就能拿你的专题来说服对方
切记不要什么东西都摸什么都略懂略懂
最后到头来人家只会觉得你没办个精的
作者: james687 (^___^)   2014-10-23 22:46:00
推!
作者: Kikoro (好慢欸)   2014-10-23 23:55:00
讲得真好 大推 看到大四有点晚抖了一下.......
作者: frank11118 (想睡觉)   2014-10-24 01:17:00
leetcode OJ, ACM OJ
作者: pandaforme (建 建)   2014-10-24 02:05:00
大四不算晚,不要等到工作好ㄧ阵子才觉醒...
作者: michael0728n (蒜˙远古)   2014-10-24 03:13:00
怎么会晚呢 不嫌晚的!如果出社会工作后依然不怠惰学习 后发先至可期也
作者: theone777 (你想要什么)   2014-10-24 09:27:00
台湾公司那边说得很好 同感
作者: asleisureto (ASLE)   2014-10-24 10:02:00
其实后来岳不群用出夺命连环三仙剑时就已经自打嘴巴了根本没有什么剑宗速成但有瓶颈这档事,纯粹是人不够厉害剑招不够强罢了XD
作者: uranusjr (←這人是超級笨蛋)   2014-10-24 10:46:00
大四根本不算晚, 除非你写程式只打算写到 3x 岁, 不然三年在职业生涯根本只是个零头而已
作者: colleen110 (Mei)   2014-10-24 16:47:00
了ㄌㄧㄠˇ解 了ㄌㄧㄠˇ解 聊ㄌㄧㄠˊ解(x)
作者: Iamsbc (小黑炭)   2014-10-24 22:02:00
推这篇 大四不晚 终身学习才是正解
作者: chikasa (结束就是一个开始)   2014-10-26 00:15:00
大四算晚的话那我这出社会3年才开始学写程式的怎么办 XD
作者: bobju (枯藤老树昏鸦)   2014-10-28 08:57:00
好文
作者: chikasa (结束就是一个开始)   2014-10-28 23:30:00
这么说...我也去看看那些题目来朝圣一下好了

Links booklink

Contact Us: admin [ a t ] ucptt.com