突破编程瓶颈《数据结构与算法》初识

时光飞逝,从上篇博客的发表算起,已经过去了一个星期,是时候总结一下这周的所获了。
在这一年的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次。这就是算法魅力。

而 “时间复杂度”和“空间复杂度”就是算法效率的度量方法

好的,今天就写到这里,希望今天的内容能对大家有所帮助。
如果大家想学习更多关于《数据结构与算法》的知识,我推荐大家看小甲鱼的《数据结构与算法》教学视频,讲的比较通俗易懂,还不定时开车。

发布了4 篇原创文章 · 获赞 8 · 访问量 1255

猜你喜欢

转载自blog.csdn.net/qq_41872615/article/details/91895572