我的算法入门之旅
来源:互联网 发布:java 前端分页代码 编辑:程序博客网 时间:2024/06/03 23:06
这篇文章讲了什么?
我的算法学习经历,入门的理解。
关于算法的重要性
初学
第一次接触算法是在大二下学期的数据结构课上听说的,还记得课本叫《数据结构和算法导论》,不过当时讲这门课和其他课一样上课在手机陪伴下度过了--反正最后考试我有前后两个大腿,所以下半年这门重要的课程在书上没有一个笔记下度过了。
到了自考 要考数据结构,提高班开始集体上课学习算法才反映过来竟然忽略了这么重要的一门课。我这个老手又要重新学习一遍算法了。
重要性
最近两三个月开始了算法学习,为自考,软考打基础。说到算法,如果你想成为一个码农或者熟练工,那算法大可以不学,因为算法在一直重复同样的事下确实没用,但如果想要成为一个优秀的开发者(Developer),扎实的算法必不可少,因为你可能会掉进一些只能借助算法才能爬出去的坑里--出自网络某被算法又爱又恨的程序猿
算法为何物
其实说白了,算法就是解决某种问题的方式,但也分好的算法和差的算法,而学习书本上的知识目的就是为了提升自己的思维方式,借鉴更多好的算法,因为好的算法可以提升程序的性能,提高开发效率,就拿最简单的例子,玩猜数字游戏,1-100里面随便选一个数字,然后让你去猜它是多少,别人会告诉你这个数字大了还是小了,最直接的方式就是从1一直猜到100,但是也有更简便的方式:就是类似二分法的方式从50开始猜,如果大了就猜1-50中的25,如果小了猜50-100中的75,以此类推,第一种从1-100猜数字是算法,第二种二分法的方式也是算法,只是第二种更好.........还有从1加到100,直接方式1+2+3....一个一个的加,另一种方式(1+100)*50,这个就是著名的高斯算法。
总结
Peter Norvig曾经写过一篇非常精彩的SICP书评,我认为这里把SICP换成算法依然适用:
To use an analogy, if algorithms were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate algorithms are the ones who just want to know how to drive their car on the highway, just like everyone else.
MIT教授Erik Demaine则更为直接:
If you want to become a good programmer, you can spend 10 years programming, or spend 2 years programming and learning algorithms.
- 我的算法入门之旅
- 我的linux之旅---入门级
- 我的Linux入门之旅
- 开启我的算法之旅!
- 我的算法之路
- 我的WebDesign之路--入门篇
- 我的WebDesign之路--入门篇
- 我的AIX入门之路[完整版]
- 我的博客专栏之 《spring入门》
- 我的软件入门之路
- 我的移动开发入门之坑
- Java Web入门之我的理解
- 我的产品经理入门之路
- 缘分天空之我的Kafka入门
- 我的前端入门之html标签
- 我python之旅--小白入门
- 我读《算法之道》的体会
- 我的算法学习之路
- Android利用硬解硬编和OpenGLES来高效的处理MP4视频
- vue系列之动态路由【原创】
- 03:计算书费
- Java 1
- codevs 1399 酗酒的狱警 模拟?解题报告
- 我的算法入门之旅
- 深入浅出mybatis学习笔记
- 【C++】内联函数
- Java内存划分
- C++模板类
- python在windows中的文件路径问题
- 作业1
- 滑动窗口的最大值
- 1元,3元和5元的硬币若干枚,如何用最少的硬币凑够11元(Java实现)