python中什么是算法_什么是算法?快速学会使用python编写算法

d043ad4bd11373f079e1caaf79f1cdfdfaed042d.jpeg?token=4e3c85edb2b812fa6a1c1543c962cdb9

01什么是算法?

我们来看百度百科对算法的解释:算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。

我们可以理解算法就是计算机面对一个问题的解决方法。

35a85edf8db1cb139c7260c706aad04890584bd4.jpeg?token=1b4168ecabb5a5354b35c0d16554d693

比如,我们要求计算机帮我们将输入的100个整数从小到大进行排序,那么排序的具体方法,就是算法。

举个例子,比如我们现在有这么一列数据 [ 5,7,8,3,1],现在需要程序帮我们进行从小到大进行排序。

应该怎么办呢?

在程序中,我们已经知道数据可以进行加减乘除运算,还可以进行逻辑比较

对于这五个数据,我们可以先让五个数据进行比较,比较最后得到1是最小的,然后将1和首位的5进行交换,现在的结果是[ 1,7,8,3,5],接下来,让1后面的四个数据,执行同样的操作,比较得到3是最小的,将3与7交换位置,就得到[1,3,8,7,5]。

然后在后3位中继续同样操作,得到5是最小的,就与8进行交换得到 [1,3,5,7,8],最后剩下的两个进行比较,发现7是最小的,位置不用交换,完成排序

这种方法就是选择排序,我们刚刚具体地模拟了计算机是如何一步步将一列数据从小到大排好序的

02那么,程序如何写呢?

9d82d158ccbf6c818aee26b467c0373331fa4091.png?token=9ab3a80b4d9722bc58573f9446296976python 选择排序

排序的过程如下

a71ea8d3fd1f4134956962feffe113ccd3c85edc.jpeg?token=d40c0761504ce02e9c814ae4cf2adfeb选择排序具体过程

当然还有其他很多的排序方法,就是不同的解题方案

03

冒泡排序

比如说冒泡排序,这如它的名字一样,将小的数浮上来,大的数沉下去,还是拿刚刚的数据举例:[ 5,7,8,3,1]

首先,5和7进行比较,7更大,那么不用交换位置,让7和下一位比较,7和8,8更大还是不用交换,接下来8和3比较,8更大,8和3进行交换,得到[5,7,3,8,1]

然后8和1比较,交换位置,得到[5,7,3,1,8]

接下来,对前面 5,7,3,1 四个数据进行同样操作,经过操作之后得到,[5,3,1,7,8]

然后,对【5,3,1】再进行一轮,得到 [3,1,5,7,8]

最后对 [3,1] 进行交换得到 [1,3,5,7,8]

b3b7d0a20cf431adac48dc3d90c82aa92fdd9825.png?token=be34cbe1bf5ffb6da09c585720c88c5cpython 冒泡算法

具体的排序过程如下

5882b2b7d0a20cf4a1054942aff7cd30aeaf999f.jpeg?token=fb8d79c9d74d819c84d6910a12f4ac21冒泡排序过程

现在你发现了两种方法都可以解决同一个问题,但两者的方法不一样,执行效率也不一样,这就设计到时间复杂度和空间复杂度,在这次课中我们就展开讲。

这次课主要了解算法是什么

04回顾总结

1、尝试自己写一个选择算法

2、写一个冒泡算法

当你有了一些基础之后,想要通过书籍系统提高,可以参考这本流畅的python教程:

欢迎关注我,一起轻松学习python编程

如果对你有帮助,可以随手点赞和收藏,这样可以让更多人看到!

如果你有问题可以在留言区告诉我或私信给我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值