[Python3算法(3)] 选择排序算法[TZZ]

2024-10-25 07:18:52

1、启动PyCharm软件,新建一个名为“AlgorithmDemo3”的“Pure Python项目”。然后向项目中添加一个名为“main”的Python文件(具体步骤请参考引用教程);

2、根据选择排序算法的描述可知,该算法实际可以分为两部分,即查找从列表中查找最大值/最小撕良滤儆值和构建新的列表。因此,可以在“main.py”文件中定义一个“find_max_elem”函数,专门秽煅笛琐负责从列表中弹出最大值元素并返回。同样的,也可以定义一个“find_min_elem”函数,专门负责从列表中弹出最小值元素并返回;

[Python3算法(3)] 选择排序算法[TZZ][Python3算法(3)] 选择排序算法[TZZ]

3、继续在“main.py”中定义并实现一个“select_sort函数”,该函数需要传入一个列表和一个指示升序/降序的布尔标记值。在实禊耗髻编现此函数时,为了让原列表保持不变,因此从原列表中复制一个新的列表(这个代价在列表非常长时,是很大),然后执行选择排序任务;

[Python3算法(3)] 选择排序算法[TZZ]

4、继续向“main.py”中定义一个测试列表并打印输出,然后调试运行程序。在弹出的控制台窗口中,可以见到输出的列表内容;

[Python3算法(3)] 选择排序算法[TZZ][Python3算法(3)] 选择排序算法[TZZ]

5、关闭控制台,返回到“main.py”文件中,继续添加“测试选择排序(升序)函数”的代码,然后调试运行程序。在弹出的控制台窗口中,检测输出的按升序排列的列表,确认选择排序算法是否实现正确;

[Python3算法(3)] 选择排序算法[TZZ][Python3算法(3)] 选择排序算法[TZZ]

6、关闭控制台窗口,返回到“main.py”文件中,继续添加“按降序排序”的测试代码,然后调试运行程序。在弹出的控制台窗口中,可以见到按降序排列的列表内容;

[Python3算法(3)] 选择排序算法[TZZ][Python3算法(3)] 选择排序算法[TZZ]

7、对于选择排序需要补充一点,其算法复杂度为O(n^2),而并非O(n * (n – 1) * (n – 2)…1),即O(n ^ 2 / 2)。因为采用大O表示算法复杂度时,会直接将常数项忽略;

8、至此,使用Python3实现选择排序算法就介绍完了。希望能帮助您,Enjoy!

猜你喜欢