我的编程之旅

接触编程快一年了,感触挺多的,从开始是充满排斥的,因为总是不明白计算机为什么要这样运行,感觉什么都不会,什么都想不通,学了一年,稍微有点感触,所以,以我个人的感触,希望对各位今后的编程生涯有抛砖引玉之用。

最开始我们所学的就是最简单的打印hello world,然后就学习A+B,A-B,A*B,A/B;其实,我们所学的知识都是连串的,比如A+B,如果A B的范围达到2^31,是不是就要考虑越界问题,int型肯定不行,所以就会开long long 或者用double,也可以转为64位型int。同样的,比如A/B,如果A很大很大,位数达到了上千位,我们就要考虑用数组或者字符串,我们一开始学的都是很简单的东西,简单意味着耗时费空间,比如说递归,看起来是最舒服的,但是它也是最糟糕的算法,太浪费时间空间了。一个简单的斐波拉契数列第一百位就算不出来了,所以对于递归的很多问题,我们都应避免,换做其他的算法,比如循环来解决。

很多问题一旦范围增大,我们以前所学的很多知识就不能解决,就必须用新的算法来解决,这也是为什么我们必须不断学习思考的原因,任何算法必须接受大数据的考验,否则就这个算法就没有任何意义。不能解决实际问题的算法就不是个好算法。为了解决一些大数据问题,我们不得不优化我们所学过的算法,降低其复杂度,巧妙的时间空间相互转换以换取最低消耗。

慢慢的你会发现,很多问题你有很多方法可以解决,但是只要数据一开大,你的方法很可能都会出现bug,如何选取最优的算法解决问题才是能力高低的体现,学习一些代码小技巧是很不错的选择,除此之外,还要学会自己优化自己代码,能用最少的代码解决同样的问题,才是我们进步的体现。

猜你喜欢

转载自blog.csdn.net/qq_37820491/article/details/76129586