小弟不才,会点编程语言。一直听人说算法、数据结构很重要,但是我怎们感觉自己一直没有用到这些,想学来着但是现在没有要学的理由,希望前辈们,说道说道

解决方案 »

  1.   

    算法是无所不在的,再补充一条,算法是必须解决问题的,否则不是算法。对于 1+1 这个问题来说,i = 1 + 1; i = 1 * 2; 都是算法。但是 i = 1 - 1 就不是算法。对于通用的问题,为了省略起见,我们不描述问题问题本身,直接把算法实现就叫做算法。但是要明白,脱离了具体问题,就不存在任何算法。算法最基本的原则是正确性,这和上面说的其实是一回事。正确性还意味着程序运行的过程是可重复的,不能只有1次正确,其余都不正确,或者一会儿正确,一会儿不正确。除了正确性,再有就是可行性,可行性只在现有条件下,在一定范围内可以求解。这个范围取决于需求,比如一个汽车自动控制程序,比如制动力监控程序,需要在毫秒级别做出响应。而一个数据库备份程序运行时间不能超过若干小时。可行性的另一个含义是经济性,一个是程序的运行是否高效、快速。另一个是程序的开发是否经济。片面追求技术优越,增加大量开发成本和开发时间的程序同样是不经济的。
      

  2.   

    个人感觉,学习算法不仅能够让你知道如何去做,更能让你知道只能怎样做。不管是Google、还是微软,再牛的人在解决某些具体问题上,只能跟你使用同样的方法。许多NPC问题,你无法解决,他们同样无法解决。即使是再神奇的软件,组成他们的零件并没有那么神奇,都是你所熟悉的那些东西。在告诉你方法之后,你同样可以做出神奇软件的一部分。