如何面对“算法”的困惑?

企业动态 算法
我是网络专业自然不回接触软件方向 ,但是 我对JAVA 感兴趣,我想做开发,开发当中用到的好像和算法(和那些数学相关的) 没有什么直接关系,都被包装好了... 我还需要 去学习一下 <算法导论>"这些吗?

收到一封面对“算法”问题困惑的来信:

我是网络专业自然不回接触软件方向 ,但是 我对JAVA 感兴趣  , 我想做开发,开发当中用到的好像和算法(和那些数学相关的) 没有什么直接关系,都被包装好了...

我还需要 去学习一下 <算法导论>"这些吗?

回信如下:

1、很多都封装好了啊!还需要学习算法吗?

回答:是啊,如果开发一些简单的程序当然可以用包装好了的方法,但是,并不是所有你想干的事情都被人家包装好了啊。如果你只做面向数据库的“增删改查”,基本就不用研究算法了。

2、那“算法”这东西到底是什么?

回答:如果你自己做一个类似数据库的程序怎么办?有人会说,人家都做好了现成的MySQL、SQL-Server、Oracle等等数据库程序,我们直接使用就行了,还做它干什么?

我说:为什么我们就不能自己做一个数据库?

好,要不你自己做一个WebServer如何?

算了,这些都难,那你做一个简单的数组中的数据比对程序,***形成一个新数组如何?

你只知道,调用JDBC怎么完成这个开发任务?

我给一个定义:

算法其实就是用最简洁最快的方法,“折腾”数组或者其他数据,你的“算法”能力决定着你程序的运行效率。

所谓的“折腾”就是各种针对数组或者其他数据的运算过程,这个过程根据你的需要完成。

3、“算法”可怕吗?

回答:很多同学一听“算法”立马腿软,其实有那么可怕吗?一点不可怕,软件开发是门技术,但同时又是一门艺术,多练练就不怕了。

4、切莫为了“算法”而“算法”

很多同学为了练习“算法”,而特意去找一些“算法”的东西去练,练到***,还是云里雾里,到底什么时候用到“算法”呢?还是很晕,这就是“算法”和实际应用脱节的结果。

记住:任何程序都是有意义的,没有无意义的程序,不要为了“算法”而去“算法”,任何“算法”都是和实际应用相结合的。

5、回去试着做一道题:

试着做一个方法,传入两个数组和一条SQL语句,返回一个数组。

这个返回的数组时你SQL语句指定的返回条件返回的结果。

试试看,你能做出来这个程序,你的算法应该就没什么问题了。

注意:这个程序很实用,甚至可以理解为一个小型数据库的雏形程序呦!

【编辑推荐】

  1. 理想的Java Web开发框架
  2. JDK 5和Java SE 6小更新
  3. Java ME没有死 它只是退居二线了
责任编辑:张攀 来源: 51cto技术博客
相关推荐

2011-10-25 09:58:01

2021-12-06 07:09:45

数据业务语言

2021-02-26 07:56:31

数据业务Sql

2011-10-25 10:07:54

2014-02-25 09:57:17

SDN落地

2023-07-11 09:22:54

2010-03-31 10:37:36

2020-06-29 14:29:07

人工智能人类工作

2012-03-13 11:00:41

imo即时通讯

2015-09-25 15:58:24

2023-10-07 14:42:42

2009-06-02 10:13:48

2021-04-08 22:38:15

加密货币安全数据

2013-12-18 17:58:21

校园网多出口链路

2024-01-17 15:48:39

CIOGenAI

2010-01-07 14:31:59

Ubuntu编译

2015-08-06 11:12:08

程序员中年困惑

2021-10-12 19:10:27

Socket

2013-08-09 06:41:29

手游移动游戏市场手游发展

2010-10-29 11:05:44

职场
点赞
收藏

51CTO技术栈公众号