首页 > 新闻中心

Python实现了七种基本算法

1.顺序查找

当数据存储在元列表中时,我们说这些数据具有线性或顺序关系。每个数据元素都存储在相对于其他数据元素的位置。由于这些索引值是有序的,我们可以按顺序满足它们。通过这个过程实现的搜索称为顺序搜索。顺序搜索原理分析:从列表中的第一个元素开始,我们简单地按照基本顺序从一个元素移动到另一个元素,直到找到我们要寻找的元素或者遍历整个列表。如果我们遍历整个列表,这意味着被搜索的元素不存在。代码实现:这个函数需要一个列表和我们正在寻找的元素作为参数,并返回一个布尔值,不管它是否存在。找到的布尔变量初始化为False。如果我们在列表中找到一个元素,它就被赋值为真。

2.二分查找

有序列表对我们的搜索非常有用。在顺序搜索中,当我们与第一个元素比较力时,如果第一个元素不是我们要找的,那么最多还有另外n-1个元素需要比较力。二分搜索法从中间元素开始,而不是按顺序找到列表。如果元素是我们正在寻找的,我们已经完成了搜索。如果不是,我们可以使用列表的ordered属性来消除剩余元素的一半。Shell的Sort是一种插入排序,也称为“递减增量排序”,是直接插入排序算法的更高效、更创新的版本。希尔排序是一种不稳定的排序算法。

3.冒泡排序

原则:

力之外的相邻元素。如果第一个比第二个大,就和他们沟通。对每对相邻的元素做同样的事情,从开始的第一对到最后一对。此时,最后一个元素应该是最大的数字。对除最后一个元素之外的所有元素重复上述步骤。一次对越来越少的元素重复上述步骤,直到没有一对数字需要特定的力。

4.选择排序

工作原理:第一次从要排序的数据元素中选择最小(或最大)的元素,并存储在序列的起始位置,然后从剩余的未排序元素中找到最小(或最大)的元素,然后将其放在排序序列的末尾。以此类推,直到所有要排序的数据元素的数量为零。选择排序是一种不稳定的排序方式。

5.插入排序

原则:

基本思想是将一条要排序的记录按照其键值的大小插入到之前排序的文件中的适当位置,直到所有记录都被插入。关键字是数据元素中数据项的值,可用于标记数据元素。

这种方法的基本思想是:首先将待排列元素的整个序列分解成若干个子序列(由相隔一定“间隙”的元素组成),再分为直接插入排序,然后依次减少增量,再进行排序。当整个序列中的元素基本上是有序的(增量足够小)时,所有的元素被直接插入并再次排序。因为直接插入排序在元素基本有序(接近最佳情况)时效率非常高,所以Hill排序在时间效率上比直接插入排序有更大的提升。

如果我们要找的元素大于中间元素,可以去掉中间元素和小于中间元素的半元素。如果元素在列表中,它必须在大半部分中。然后我们可以用一个大的半部门重复这个过程,并继续将其与我们从中间元素中寻找的进行比较。

6.快速排序

原则:

8.各个算法的时间庞大度

返回首页