博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
突破编程瓶颈《数据结构与算法》初识
阅读量:3914 次
发布时间:2019-05-23

本文共 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/

你可能感兴趣的文章
.NET 异步解说
查看>>
Magicodes.IE 2.4发布
查看>>
程序员修神之路--它可能是分布式系统中最重要的枢纽
查看>>
如何理解Eating这个词?云原生与微服务专场介绍
查看>>
诊断日志知多少 | DiagnosticSource 在.NET上的应用
查看>>
Chrome正在启用HTTP/3,支持IETF QUIC
查看>>
简单聊聊AspNetCore的启动流程
查看>>
.NET架构小技巧(2)——访问修饰符正确姿势
查看>>
一站式Web开发套件BeetleX.WebFamily
查看>>
工作这几年所获、所感、所悟
查看>>
不想写脚本清理 mongodb 中的垃圾数据,ttlIndex 能帮到你!
查看>>
跟我一起学.NetCore之MediatR好像有点火
查看>>
.NET架构小技巧(4)——反射,架构人员法宝II
查看>>
让你变厉害的7个底层思维
查看>>
译 | 将数据从Cosmos DB迁移到本地JSON文件
查看>>
再被补刀!Flash又遭抛弃,你会怀念它吗?
查看>>
国产操作系统发展离不开人才和市场
查看>>
心想技术驱动业务,却在背道而驰
查看>>
SM2 国密算法被 Linux 内核社区接受
查看>>
日计不足涓滴成河-自定义响应结果格式化器
查看>>