学习算法一年的总结

AAA20090987 2010-06-18 01:31:53
转眼间,我学习算法已经一年了,就写一篇东西来记念一下吧。

一年前的今天,我在某个网友的怂恿之下,就买回了《算法导论》来看,当时的我,全然不知算法是什么东西,也不知道链表是啥表,甚至还不能熟练地使用C++。在这种前提下,就去阅读《算法导论》,结果可想而知(不知当时的我到底是勇气可嘉呢?还是白痴到家呢?呵呵)。不过,这个经历却引起了我对算法的兴趣。

与此同时,我还知道一种叫做ACM的比赛和叫OJ的系统,于是我就去了HDU这个OJ上做题(为什么选择这个OJ呢?主要是因为听说这个OJ上的水题特别多啦),虽然我基本上不会任何算法,但还是能做一些水题的,毕竟有些水题是不需要任何算法也能够做出来的。

这样过了几天,觉得不能这样下去了,《算法导论》我基本上看不懂,一直做水题也没什么意思,上网查了一下,想学算法,还是要先学数据结构的。于是就去图书馆借了一本《数据结构。。。》(书的全名都忘记了,汗),这本书真的不错,不但详细地说明了各种常用的数据结构和排序算法的理论性知识,而且还用C++的模板类和派生类实现了这些数据结构。看完这本书之后,我就算进了数据结构的门了(虽然还是很水很水)。这时,我也能够看懂一点《算法导论》了。

接下来,我就开始一边看《算法导论》,一边做ACM了。虽然做这件事的难度比较大,但好在网上的相关资料比较丰富,想找的话一般都能找到;另外,CSDN上的网友也比较热心,我的疑问在这里一般都能得到满意的解决(在此谢谢各位了,呵呵)。在做ACM的过程中,我曾经被高手鄙视过,也被新手称赞过。说实话,我最喜欢听赞美,但使我进步最大的,还是那些鄙视我的高手。

看《算法导论》和做ACM花费了我大量的时间与精力(这些时间原本是用来看电影和玩游戏的,一位同学曾经问我做ACM到底有什么好处?老实说,我也不知道)。但无论在学什么,应该都比花大量时间在游戏和电影上好吧?我的学校比较水,没有自己的ACM队,好像整个学校也没有多少人在做ACM,我也没参加过ACM的比赛(有道那个比赛除外)。大一的时候就听师兄说,很多人在学完数据结构这门课程之后,还写不出一个普通的链表,当时我还觉得这是个笑话。但现在,我能保证我们班有一半左右的同学是这样。有时我在想,我如果没有接触ACM,我会不会也是这样呢?另外,我是将ACM当做《算法导论》的辅助练习而已,从没想过成为一名ACMer.

看《算法导论》(没完全看懂),提高了我的理论水平;做ACM,提高了我的动手能手。就是这两个好处就对得起我所付出的那些时间与精力了吧。而且,为了做这两件事,我还自学了线性代数,离散数学(我们专业没开这两门课,真是无语),看了《STL标准程序库》。更重要的,它阻止了我那堕落的大学生活,使我那宝贵的大学时光不至于完全浪费掉。还使我可以在一定程度上说:是我上了大学,而不是大学上了我。

网上有很多人在讨论:算法是不是像传说中的那样重要。对于这个问题,我真的不知道。一方面,算法对于学计算机的学生的长远发展而言,的确是有重大意义的;另一方面,国内大部分程序员的工作没有涉及算法,或者只是简单地调用别人写好的算法(库)。但我始终认为,学好基本的,常用的算法还是非常有必要的。就像一个人不能因为不想当数学家,就不需要明白加减乘除是啥意思一样。

20010年6月18日写于宿舍
...全文
2024 49 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxblack125125 2012-07-27
  • 打赏
  • 举报
回复
与楼主共勉
kyolxs 2011-01-10
  • 打赏
  • 举报
回复
WyclChenyi 2011-01-05
  • 打赏
  • 举报
回复
学习算法确实能够大大提高你的功力,希望楼主不断的坚持下去
zha0123 2011-01-03
  • 打赏
  • 举报
回复
但无论在学什么,应该都比花大量时间在游戏和电影上好吧?我的学校比较水,没有自己的ACM队,好像整个学校也没有多少人在做ACM,我也没参加过ACM的比赛(有道那个比赛除外)。

看完楼主的,觉得自己的大学生活真的被浪费很多。
太多的时间被花在无聊的事情上了。
liyongjun1982 2010-08-23
  • 打赏
  • 举报
回复
注意身体啊
ziyouluoye 2010-08-23
  • 打赏
  • 举报
回复
由于不华丽还繁琐 不爱众人喜欢 嘿嘿 了解它之后还是很亲近的
blue_blue_yeah 2010-08-23
  • 打赏
  • 举报
回复
楼主已经坚定信念了,就一直走下去吧,
算法是提高效率的,还有解决一些难题的,
国内现在用的不多,并不表示以后用的不多。。。
boYwell 2010-08-23
  • 打赏
  • 举报
回复
mark,版里的各位大牛都现身了,谢谢给我们这些菜鸟鼓励。
zhu_nn 2010-06-22
  • 打赏
  • 举报
回复
计算数学的魅力就在算法,如果楼主想研究更高深的算法,可以多学一些计算数学
zzz9413 2010-06-21
  • 打赏
  • 举报
回复
连发三帖,我可以申请一个记录了。代码工人中工资最低第一人,想不到正规连1K多的员工都要纳税,交社保,感觉就是一只工蚁。
zzz9413 2010-06-21
  • 打赏
  • 举报
回复
算法中等以后,应该能吃饱穿暖之余,还有闲钱去休闲社交吧?荒废学业的代价果然够昂贵,十八岁后就没有恋过爱,泡过吧。电脑是唯一的朋友,除了上网玩游戏没有任何娱乐活动。
zzz9413 2010-06-21
  • 打赏
  • 举报
回复
最开始我对选择哪个行业都无从下手,浑浑噩噩的我也是被这些层出不穷的概念和标准迷茫了很久。试图找到一点不变的东西。
//由于专业小众(各种固体、流体力学)加上没正常毕业,出来完全不知道做哪行,为荒废付出昂贵的代价,一会做电脑网络,一会又做CAD设计,一会又做网站,对这些工作完全找不到乐趣,特别是做网络总是要通宵干活,纯粹一苦力工人。最后混了五六年一事无成后,又随便找了个公司应聘,我说会网络会数据库,于是进了IT部,竟然上来就是用很多年前的PB维护一个系统。慢慢地知道了有面向对象和面向过程的说法,试图找到一种最好用的编程语言,天天搜索里输入“最好的编程语言和工具”,一个月后选择了C++,认为C++能应用底层很强大,结果发现无穷的API和MFC调用。后来又发现dephi,开始被简单高效的前段开发引诱,做了一个月发现dephi在衰落。又在软件开发的朋友的建议下学java“一次开发到处运行”的优点,但我只会一个XP系统,不会别的系统。又去学C#,还好帮助够强大,够面向对象,费了一个多月终于弄清了什么是类,继承,多态这些东西。但过几年C#又会被新的语言取代吧?
突然公司又让我试着优化生产排单系统的算法,搜索了两个星期的资料,发现要用一个遗传算法的东西,让一个拿着1K多工资,程序半吊子入门的人去写出一个遗传算法系统,太富有戏剧性了。然后发现要会遗传算法,必须先读数据结构和算法导论。
于是弄了一个星期的算法,搞了一些类,把最基本的链表,树,图这些弄明白了。也明确了自己的方向----算法。虽然别人说30来岁还混着1K多的工资,那这个人就废了。不过总算找到了一个既能养活自己,又比较有趣的东西。为时还不算晚吧。
AAA20090987 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 c6u5fyd 的回复:]
20010年6月18日写于宿舍

早都过2012了 你居然还看ACM
[/Quote]

如果我真的能活到20010年,一定把所有的分都给你,哈哈哈。
qingshuihepan 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 c6u5fyd 的回复:]
20010年6月18日写于宿舍

早都过2012了 你居然还看ACM
[/Quote]

lz上了方舟啊
田暗星 2010-06-21
  • 打赏
  • 举报
回复
20010年6月18日写于宿舍

早都过2012了 你居然还看ACM
liutengfeigo 2010-06-21
  • 打赏
  • 举报
回复
算法导论是个度?
还没接触,但是知道玩这个肯定要学点这个
cattycat 2010-06-21
  • 打赏
  • 举报
回复
算法就像数学,领域还是挺多的。专门的可以看算法导论,涉及专业领域的有图形处理算法,其实还是数学算法的应用。不管做什么领域的,懂点算法还是非常必要的。
polarisfall 2010-06-21
  • 打赏
  • 举报
回复
算法还是很有用的东西,虽然我现在的工作中还用不到,但是还是想把它捡起来
ps:ls的朋友是不是可以考虑一下跳槽
绿色夹克衫 2010-06-19
  • 打赏
  • 举报
回复
还记得LZ刚来算法版时的情况,1年时间,水平真的是有了很大的进步。继续努力吧。

其实相比我们这代程序员,LZ算是幸运的,至少周围有人在谈论算法,并且有这么多的OJ可以让你去实践算法。而我们这代程序员,虽然从构架到底层都干过,但如果不是误打误撞来到了Csdn算法版,恐怕我至今都不知算法为何物,也不能领略计算科学中最美的风景。我会同我的前辈一样,迷失在CMM,UML,瀑布模型,设计模式......这些无穷尽的概念之中,并于35岁之前转向管理,拿较高的薪水,同时写文章告诉后来人,这才是你们该走的路......好在这一切没有真的发生,让我在30多岁开始接触到算法分析和算法设计,晚么?我觉得不,还是那句话,“觉得为时已晚的时候,恰恰是最早的时候”

多年前唬人时经常会把算法二字放在嘴边,也许同时还会配上一些由3个英文字母组成的单词,例如:ERP,SOA,RIA......,回想这些流行的应用或概念,同算法比起来,显得那么单薄。总会有那么一天,OO消失了(当然UML也不会再有了),汇编指令集全变了(更别说那些构架了),SOA也被人放进了博物馆。那么算法呢?......也许被封装成硬件芯片,也许分布在网络的某些特定的终端上,但肯定还会被千百万个处理器加载运行。
wibnmo 2010-06-19
  • 打赏
  • 举报
回复
楼主加油。。赞赞。。
加载更多回复(26)

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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