>>分享数据结构和算法相关的知识和技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19620 个阅读者 刷新本主题
 * 贴子主题:  如何面对“算法”的困惑? 回复文章 点赞(0)  收藏  
作者:mary    发表时间:2020-03-15 18:14:11     消息  查看  搜索  好友  邮件  复制  引用

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

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


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

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

     回信如下:

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

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

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

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

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

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

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

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

           我给一个定义:


          算法其实就是用最简洁最快的方法,“折腾”数组或者其他数据,你的“算法”能力决定着你程序的运行效率。
       所谓的“折腾”就是各种针对数组或者其他数据的运算过程,这个过程根据你的需要完成。

    
3、“算法”可怕吗?


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

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


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

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

           5、回去试着做一道题:

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

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

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

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


----------------------------
原文链接:https://blog.51cto.com/useway/197247

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-16 12:11:58 重新编辑]
  Java面向对象编程-->数组
  JavaWeb开发-->自定义JSP标签(Ⅱ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->Java网络编程入门
  精通Spring-->计算属性和数据监听
  Vue3开发-->通过Vuex进行状态管理
  整理得吐血了,二叉树、红黑树、B、B+树超齐全,快速搞定数据...
  图像基本处理算法的简单实现
  haproxy调度算法
  进程调度算法总结
  基于JavaScript的Base64编码、解码算法
  有趣的位图排序算法
  SHA-1算法详解
  Binary Search二分查找算法
  字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序...
  LinkedList,LinkedHashMap,LruCache源码解析
  为什么要学数据结构?
  比较迭代和递归:人理解迭代 ,神理解递归
  谷歌面试算法题:两个排序数组的中位数
  分析递归和迭代的区别、优缺点及实例对比
  浅谈常见的七种加密算法及实现
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。