本文共 819 字,大约阅读时间需要 2 分钟。
时光飞逝,从上篇博客的发表算起,已经过去了一个星期,是时候总结一下这周的所获了。
在这一年的Python学习里,我也就编写了十多个小程序来解决工作上和生活上的问题,但是代码都是从CSDN上搬过来的,所以说CSDN这个网站确实是非常牛的!这种方式确实是让我实现了我所需的功能,但是我发现功能是实现了,代码的运行速度却是无法掌控,说到底就是自己还不能判断代码的优劣。这应该是遇到瓶颈了。经过一番的搜索,发现大学的计算机专业都要学习**《数据结构与算法》**这一门高深的课程,如果大家正在学习或者快要学习这门课程,那就好好学,这可是决定着你编程水平能达到的高度!
计算机,顾名思义就是用来计算的,而我们在计算机上编写程序其实也是用来解决计算问题。
算法就是用来优化这一个计算的过程,好的算法可以让我们快速的解决问题。 譬如,我要计算1+2+3+4+……….+1000的和,如果用Python编个程序就算的话,可以用for循环:sum=0
for i in range(1001): sum=sum+i print(sum)但是我们小学的时候老师教过我们,只要把头尾俩个数相加,然后再除以个数的二分之一,就可以求出答案了:
sum=(1+1000)*(1000/2)
print(sum)现在我们算一下第一种方法计算机运行的多少次,应该是1000+2次,因为for循环了1000次,sum=0和print(sum) 各运行了1次
而第二种方法了,计算机应该运行了2次。现在计算1000的和可能感觉不出这两种方法在速度上的区别,如果要计算10亿的和呢?
第一种方法就要运行10亿+2 次,第二种方法还是运行2次。这就是算法魅力。而 “时间复杂度”和“空间复杂度”就是算法效率的度量方法
好的,今天就写到这里,希望今天的内容能对大家有所帮助。
如果大家想学习更多关于《数据结构与算法》的知识,我推荐大家看,讲的比较通俗易懂,还不定时开车。转载地址:http://okprn.baihongyu.com/