来上海培训2星期了.课程一共4个月,是先java,然后O什么的数据库,然后android.具体的就不打广告了.刚开始嘛,学的是基础语法,学到for循环之类的时候被打击了...有些小题目真的很难想出来,鬼知道用1个/2个甚至3个for循环怎么编出那种题目来...还一层套一层???我是觉得只要会用就行了.可有的同学似乎还真的搞这个有天赋,神马莫名其妙的想法都有,读他们的代码都得读半天!!!难道传说中的天才就是这样?我只能说我数学估计没有天赋.唉,算法很重要吗?目前学到面向对象了,我倒是觉得很轻松,就怕以后考试/面试,直接给我来个编程题,想半天想不出来就悲剧了.

解决方案 »

  1.   

    相对来讲,java对算法要求不高但是楼主说的那些 for 循环什么的,都还算不上是算法
      

  2.   

    其实  算法本质就是找到规律. 
    像几层for循环,其实就是找出每次变化的时候,里面的规律是什么.
    逻辑思维能力比较重要.
      

  3.   

    [code=c#]string MyHeart='桑心!'
      

  4.   

    呵呵!for循环套for循环并不一定很厉害,其实高手是用最少的执行次数解决最复杂的问题。其实编程就是一种思想!也是一种感觉!这种思想和感觉是需要培养的!就像和女友培养感情一样!是要时间的!不是一天两天就能得到的。所以楼主不必纠结!等时间长了你也就会NB了!
      

  5.   

    别愁了,这点小问题都愁的话,面向对象就不用学了,告诉你吧,你现在接触的都是基本的算法,之后还会有更复杂的,这些算法你只能脚踏实地的去学,一个个的去记忆理解,没有别的途径,至于创新思维什么的也是在这些基础东西之上产生的。到后来的面向对象会更加难的,你们光基础都讲了两个星期,我们培训时只讲三天,然后就是面向对象一个星期,然后是JDBC,html,css,JSP,servlet,所有的加一起也就三个星期而已,后来就开始做项目。没法子刚开始学谁都会迷茫,但熬过去艰难的时候你就豁然开朗了,好好学吧,学费肯定不低吧,别浪费了时间和金钱。
      

  6.   

    写Java程序实际上算法触及的却是没有C++的多,这个是事实。原因在于项目的性质,而不是语言的特点。
      

  7.   

    for循环套for循环并不一定很厉害
      

  8.   

    在下不这么认为。首先LZ应当总结一下自己算法掌握不好的真正原因在哪,不然再怎么走都只能是原地踏步。毕竟算法对于程序设计来说是非常重要的一环。
    现在的程序怎么设计都还是跳不出程序=数据结构+算法这个圈子。建议LZ试着学画流程图。有些人左脑比较发达,抽象思维能力强,看着一堆代码就能联想出很多东西;而相对的,有些人则右脑发达,形象思维能力强,看着一些符号没什么感觉,但把这些代码图形化后立刻就清楚了。
    LZ可以试下看自己是不是上面提到的后一种人。
      

  9.   

    数学计算并不是很重要,重要的是逻辑思维。像你说的题目,用几个for完成一个题目,你不会做很正常,多做几个就自然熟练了,算法用来用去也就那么几种,你花点时间研究下,就ok了!你知道吗,爱因斯坦就是一个数学白痴,可是他在科学上的成就如何,不要太在意了,好好学!
      

  10.   

    我在写程序时会坚持做些ACM的题目,这样可以保持思维的灵活度~
      

  11.   

    看完上面的感觉很无语:
    数学是所有理科科目的基础,是用数值或图形的方法描述世间万物的内存联系及规律的学科(所以数学有数论与图论两大分支)。就连楼上提到的逻辑学也有数学的身影(没听说过数理逻辑么?)
    猜想楼上的意思是想说数值计算不重要,但它是所有抽象思维的基础。(中国的灌输式教育扼杀了很多人的想象力,其实数学在我们身边是无处不在的,并不是只有数值运算这种形式)
    人类认识世界、改造世界的步骤是在三步中循环的:
    实践->实践上升到理论->理论指导实践
    也许你可以通过实践感性的找到事物的表象从而解决自己的需求,但那永远只是停留在第一步。另外,居然说爱因斯坦是数学白痴……也不怕回家撞鬼……好好去看下爱因斯坦的生平简介吧。爱因斯坦小时候数学不好,甚至在学校数学考试上拿过0分。
    但上高中后注意到了数学的重要性,自学了微积分、解析几何等数学知识。不然一个连函数都不认识的人有可能推导出质能方程么?
      

  12.   

    其实算法就是解决思路而已
    比如冒泡 当有个数组排序时就可能用到当然数据排序 java语言本身帮你封装了但如果你遇到其它类似的排序的方法还是要知道的------------------------------------------和设计模式类似只不过设计模式是架构层次 而算法是代码层次。
    显然作为码农这两方面都不涉及。
      

  13.   

    多找些这类题目,硬着头皮做吧!做的时候问自己:
    我看到题目应该怎样思考?
    哪儿需要循环?怎样写第一个for循环,循环条件是什么?
    不行的话,把程序题简化为不循环,就是只做初次循环的内容,然后再办法增加循环
      

  14.   

    看样子是学弟啊。你这个跟算法没关,这完全是基础语法。for循环嵌套嘛,好好研究研究,重点是知道for循环的运行顺序。然后做几个相关的题目。比如九九乘法表。星号组成三角形、四边形什么的。写出了三角还可以试试写倒三角,再可以正三角拼个倒三角变成四边形。做透了这几个题目你循环嵌套这块就基本扎实了。
      

  15.   

    java精髓:C++转到Java之后,记住什么事都不要自己做,什么算法都不要自己写,去查手册,去找现成的库就行了,否则吃力不讨好。
      

  16.   

    Vector,HashMap在java里都是现成的,直接拿来使用就行了,也许你永远都不会去查看他的源代码,看看是如何实现的。如果你先学习java ,然后再学c,你会发现,怎么像Vector、HashMap在c中都没有呢,都需要你自已动手写, 是不是很恐怖。
      

  17.   

    LZ多大年纪了?
    如果15岁以下,那还可以长大些再试试。
    如果15岁以上,两层for循环就犯晕,
    那就只能说LZ不适合这个行业了。
      

  18.   

    楼主不要被“打击”了。那是因为你可能刚接触还不熟悉、不适应的原因。你说的按个for循环什么的顶多算个“语法”,就是英文里面的语法,死记硬背搞下来。算法就是在“语法”的基础上面加一点点“技巧”,等你看多了就明白了,这年头努力做好自己就ok了,其他都XXXX掉。
      

  19.   

    很多初学的人觉得别人怎么能很容易就写出东西来,是因为他基础比你牢。
    java版算法与数据结构可以看看。
      

  20.   


    十几二十几的for循环~~你想得出来,计算机还不跑死啊算法很重要,写算法要分为时间复杂度和空间复杂度,这是评价一个算法的标准,多动脑子哦!!!!
      

  21.   


    确实是这样的,如果逻辑思维不强,那么只能一层层的套用for循环,或许换个思路,就可以很简单的解决问题
      

  22.   

    基础的算法都看不懂的话,说明LZ思维逻辑不行,如果LZ思维逻辑不行,以后上班公司程序里涉及到的业务逻辑你也整不明白,业务都整不明白,还编什么程序,编不了程序,哪个公司要你?没公司要你,你吃什么?没吃的,还怎么活?活不下去,就只有挂了……所以说,要想活下去,算法还是比较重要的~~~
      

  23.   

    楼主你在说笑吗?for循环也算是算法?
    最基本的你去编下冒泡
    然后深度点的,试试 银行家算法,迪杰斯特拉算法……
    不过话又说回来……java对算法的要求不高,你学C和C++才对算法要求高,时间复杂度,空间复杂度都需要在编写的时候考虑,那才叫难……其实for循环真的太基础了,就像你打字,需要会拼音或者五笔一样……
    祝你早日成才!早日成为程序猿!