想问java能不能用来学习算法,我没学C++

如题所述

算法是所有程序的灵魂,你用编程来解决一个问题就是,想好怎么编程了,这个怎么编就是你的算法,算法分好坏。学习算法其实就是学习高手的程序是怎么编的,有些功能一般人编程可能要100句程序,高手可能30句搞定了。算法的好坏决定了程序运行的快慢以及出现的bug的概率,程序占用内存的空间,程序运行时候需要的内存空间等等。

总之,你学任何编程语言,学习的过程,各个例题都同时在学算法。算法就是实现一个目的方法,而编程语言是工具,你学会了方法就能用不同的工具来实现你的目的。

也就是说你学会了算法, 然后学会了不同的编程语言,你都可以用相同的算法不同的编程语言来实现你的目的。

补充:编程语言理论上可以实现大多数,但是每门语言都有各自的优势和缺点,所以在不同的领域不同的目的就用到不同的语言。但作为一个初学者,建议开始学一般工程师都用到的语言,相当于跟你说你想去国外先学个英语,英语学好了学其他的德语法语就比较容易了。因为,首先你学习英语的过程当中总结了一些学习语言的经验,然后你学的第一门外语和可能和其他一些外语有相似之处,还有你用心学的话你会知道如何找语伴,那么你学其他语言你也知道如何找语伴。

举个通俗易懂的c/c++的简单例子:

//计算 1+2+3+4+5+...+10
int main()
{
    int result;
    result =1+2+3+4+5+6+7+8+9+10;
    return 0;
}

上面是最蠢的方式计算1到10相加,但上面也是一个算法。

下面就是优化好后的算法,因为如果你要从1+2+3+....1000很明显只要把下面的程序里面的10改成1000就行了。这是一个很简单的算法解决简单的问题。

int main()
{
    int result=0;
    int i;
    for(i=1;i<=10;i++)
    { result = result +i;
    }
    return 0;
}

还有,算法不只是数学计算,还涉及到逻辑计算,还有很多不是数学的,比如手机app里面有的应用做的某些用户体验不太好,比如反应慢(不一定是网络问题),可能就是算法不够好导致的。

以上。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答