您的位置:首页 > 编程语言 > Python开发

排序

2016-03-21 19:43 239 查看
排序算法属于算法基本功,单论难度,都是非常简单的。所以经常作为算法的入门,作为新手来说,可以作为初始的学习材料。训练排序主要的目的,是了解基本的排序原理和将算法编写为代码的基本方法。

大致来说,常见的排序算法有以下几种:冒泡排序(Bubble Sort);选择排序(Selection Sort);插入排序(Insertion Sort );归并排序(Merge Sort);快速排序(Quick Sort);堆排序(Heap Sort);桶排序(Bucket Sort)等等。这么看来,还是蛮多。不过在现实应用当中,大多时候像排序这种基础功能,都有现成的内建函数帮助我们完成(例如Python中的list.sort()以及sorted(list)),如以下代码所示:

aList = [6, 5, 3, 1, 8, 7, 2, 4]

new_list = sorted(aList)
print(aList)
print(new_list)

aList.sort()
print(aList)


输出结果为:

[6, 5, 3, 1, 8, 7, 2, 4]

[1, 2, 3, 4, 5, 6, 7, 8]

[1, 2, 3, 4, 5, 6, 7, 8]

这里,顺便说一下Python中sort与sorted的区别:sort是对数组原地排序,直接按照大小顺序改变原数组,是没有返回值的(返回值其实是None);而sorted则是生成一个按顺序排列的新数组。

总之,如果利用内建函数排序,是很方便的,所以平时用的时候首先推荐的就是这种方式,一来,省去了写排序算法的麻烦,二来,别人写好的东西绝大多数情况下比我们写的运行效率要更高。省事又好用,何乐不为?

但是,作为算法训练,我们依旧要学习如何写前面提到的几种排序算法。先从冒泡排序开始吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 排序算法 python