选择排序算法
选择排序算法基于最小值或最大值的连续选择。 假设我们有一个列表 ,我们想要按升序排序(从较小的值到较大的值)。 最小的元素将在列表的开头,而最大的元素将在列表的末尾。
假设原始清单如下:
| 7 | 5 | 3.5 | 4 | 3.1 |
我们要做的第一件事是在列表中找到最小值 ,在我们的例子中是3.1 。
找到最小值后,将该最小值与列表中的第一个元素交换 。 也就是说,将3.1与7交换。 现在,该列表将如下所示:
| 3.1 | 5 | 3.5 | 4 | 7 |
现在我们可以确定第一个元素在列表中的正确位置,我们从列表中的第二个元素开始重复上述步骤(查找最小值)。 我们可以发现列表中的最小值(从第二个元素开始)为3.5 。 因此,我们现在将3.5与5交换。 现在列表如下:
| 3.1 | 3.5 | 5 | 4 | 7 |
至此,我们可以确定第一个元素和第二个元素处于正确的位置。
现在,我们检查列表其余部分中的最小值,即从第三个元素5 。 列表其余部分中的最小值是4 ,现在我们将其交换为5 。 因此,列表如下:
| 3.1 | 3.5 | 4 | 5 | 7 |
因此,我们现在可以确定前三个元素处于正确的位置,并且该过程将以这种方式继续进行。
让我们看看如何在Python(基于Isai Damier )中实现选择排序算法:def selectionSort(aList):
for i in range(len(aList)):
least = i
for k in range(i+1, len(aList)):
if aList[k] < aList[least]:
least = k
swap(aList, least, i)
def swap(A, x, y):
temp = A[x]
A[x] = A[y]
A[y] = temp
让我们通过在上述脚本的末尾添加以下语句来测试算法:
在这种情况下,您应该获得以下输出:
[4.6, 4.7, 5.76, 7.3, 7.6, 25.3, 32.4, 43.5, 52.3, 55.3, 86.7]
线性搜索算法
线性搜索算法是一种简单的算法,其中对列表中的每个项目(从第一个项目开始)进行调查,直到找到所需的项目或到达列表的末尾为止。
线性搜索算法在Python中的实现方式如下(基于Python School ):
让我们测试一下代码。 在上面的Python脚本的末尾输入以下语句:
输入input ,请确保input在单引号或双引号之间(即'pencil' )。 例如,如果输入'pencil' ,则应获得以下输出:
Yes, the item is in the bag
而如果输入'ruler'作为输入,则会得到以下输出:
Oops, your item seems not to be in the bag
如我们所见,Python再次证明自己是一种编程语言,可以像在此一样轻松地对算法概念进行编程,以处理排序和搜索算法。
了解更多分析及数据抓取可查看:
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。