大学毕业了,谈对算法的感觉

j8daxue 2009-06-04 01:06:18
加精
本人高中从来没接触过编程,也没了解过信息学竞赛。
大1到大2都比较浑浑噩噩。
大3才比较认真学习,但直到现在,也只进了一个小公司。
期间看过一些笔试或面试题,除BGM,自己也有琢磨下算法,一般不很难。
其实也很肤浅,算法如同数学,虽有前人经验,但更多的是自己的思考和创造。
最近在网上做了一点ACM题。个人感觉那不能叫程序题,让人觉得是做数学题,因为分析下去,就是数学的范畴,如找数列规律,一些数学常用方法等。而且有的问题虽然有思考价值,但还是觉得其需求太古怪了,一般领域中不可能涉及到......大多数题目让我觉得有点无语,我想真实开发时会遇到20%的问题?
我承认,我水平不行,因为经常遇到wrong answer,但又觉得思路没问题,所以一直很郁闷,一个问题思考一下午+半个晚上都没解决。真正提交的不多。

除了BGM,下面有点酸葡萄心理,还请理解。
虽说有公式为 程序=数据结构+算法。
你的程序只是基于控制台,有人要?我觉得数据结构+算法=核心功能。
更甚,一些管理系统甚至不需要数据结构+算法。
言外之意,写一个软件还有很重要的部分是你对语言,对框架,对库的学习,对业务逻辑的理解等。
这些从我购买的书籍就知道了,如《effective c++》 ,<<C++必知必会>>,<<深入浅出MFC>> <<深入解析ATL>>等,很明显的,我没有《算法导论》那一类的书。

欢迎工作人士拍砖,粪青请无视。
...全文
741 121 打赏 收藏 转发到动态 举报
写回复
用AI写文章
121 条回复
切换为时间正序
请发表友善的回复…
发表回复
kone123 2010-03-28
  • 打赏
  • 举报
回复
路过了,看看
顺便接分
shuai200808 2010-03-07
  • 打赏
  • 举报
回复
大多数没有专门研发部的IT公司,基本上都是用的别人的算法,或者稍加修改。事实上只要你不是从事研究算法或者是算法工程师什么的,能看懂算法,会用就行了,就像现在的软件一样,同样的软件有几个不同的名称(比如下载工具:迅雷,快车,旋风),其实内部实现的都差不多只是稍加修改后可供自己使用就行了。
验证码识别 2010-03-07
  • 打赏
  • 举报
回复
引用 92 楼 canjianx 的回复:
架构,应用,算法。是上层中层底层。
要么向上游发展,要么向底层发展,或者全面发展进管理层。


up
不懂必须要问 2010-03-04
  • 打赏
  • 举报
回复
难啊
linkin1005 2010-02-19
  • 打赏
  • 举报
回复
代码工人的思想
要是有程序让你去优化、写操作系统,你怎么办?
进入国际顶级公司,甚至让开发团队新开发一种计算机语言,你又怎么办?
我们也许一生也达不到那么高的平台,但我不会放弃希望
super_chris 2010-02-15
  • 打赏
  • 举报
回复
个人觉得算法培养的就是思维能力,或者说后天地侧面地提高你的智商。
至于思维能力和智商重不重要,LZ你说呢?
csl312211865 2010-01-19
  • 打赏
  • 举报
回复
现在的编程,核心(算法)部分基本都已现成,而我们要做的,就是了解并应用这些基本的算法,堆砌成一个特定功能的程序。
为什么程序员被称为代码工人?
人尽其材 2009-10-08
  • 打赏
  • 举报
回复
当你发现熟悉了应用环境之后,原来核心还是算法!

A0101010 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 codewarrior 的回复:]
BGM是啥?Baidu & Google & Microsoft?
[/Quote]
是生产力不一定都来自知识。
kanongzhang 2009-06-30
  • 打赏
  • 举报
回复
我最近也正在作算法的一些题 ,已经完成了usaco的第一章的21条题,我的感觉是 ,我完成usaco的第一章的题后,自己不仅在算法上有了提高,在其他很多方面都有了很大的进步,做些这样的题目提高的不仅是我的算法设计的能力 ,给我感觉是我跟了解C了,纯属个人的说法,大家不要见怪。。
吴丁 2009-06-27
  • 打赏
  • 举报
回复
那个,,,楼主,怎么你说的那四书我都有的。。。莫非就表示有分接?
biweilun 2009-06-27
  • 打赏
  • 举报
回复
ACM就像小学时候学的奥数一样。
ppk_master 2009-06-27
  • 打赏
  • 举报
回复
LZ应该明确自己ACM的目的,有些题目不要太在意是ac还是wa,那样会浪费太多时间,
也不要太在意ac了多少道题,ac率多少,毕竟你不是为了拿奖而去ac
重要的是通过ac你学到了多少关于数据结构、算法和数学的知识
以及自己分析问题的能力和思维能力是否又提高…
duduxia 2009-06-14
  • 打赏
  • 举报
回复
算法是思想啊,没有思想最后就死了。
lhw---9999 2009-06-12
  • 打赏
  • 举报
回复
有关算法的讨论太精彩了,算法确实重要,不但在计算学科中使用,在其他学科中算法仍然存在。
lb_biubiu 2009-06-09
  • 打赏
  • 举报
回复
软件这东西,就像一个巨大的饼子,随便扳一块也够你吃一辈子的了,我越来越这样觉得。
想样样精通,绝无可能,算法嘛就相当于饼子的一个部分而已。
baofengyingyinaaa 2009-06-08
  • 打赏
  • 举报
回复
理解是做计算机性能方面的优化。
typischmann 2009-06-08
  • 打赏
  • 举报
回复
10楼说的好,其实计算机有两方面科学与技术,科学推动发展,技术改变生活.
就跟爱因斯坦提出质能转换方程(科学),然后由其他人造出原子弹(技术应用)一样.
楼主明显更愿意做工程而不是科学.不过先进的技术还是需要高深的数学支持的,一个具有特有算法的程序是不可能被别人复制的,就算仿制了也不可能具有一样的效率.就好像google,baidu的搜索算法,迅雷的网络算法.
还有一种情况就是客户需要,譬如飞机路线分析,通讯上的编码解码,这些必须要自己去写算法。军用设备就更是算法的用武之地了,特别是人工智能算法,譬如导弹,雷达的模式识别。
goldbullet 2009-06-07
  • 打赏
  • 举报
回复
工程师是责任是把想法实现

把算法实现就是一种能力,楼主说的做ACM题目,我看主要把时间花在想算法上面

题目本没有错,关键看你侧重什么,其实有些时候,你可以去网上搜搜题目思路,然后去实现,把重点放在实现上面
wq_sa_xz 2009-06-07
  • 打赏
  • 举报
回复
算法很简单,你明白了其中怎么去实现的算法就出来了...
你总会解决问题的
加载更多回复(99)

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧