排序
来源:互联网 发布:淘宝一元买东西在哪里 编辑:程序博客网 时间:2024/04/30 02:41
排序算法属于算法基本功,单论难度,都是非常简单的。所以经常作为算法的入门,作为新手来说,可以作为初始的学习材料。训练排序主要的目的,是了解基本的排序原理和将算法编写为代码的基本方法。
大致来说,常见的排序算法有以下几种:冒泡排序(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则是生成一个按顺序排列的新数组。
总之,如果利用内建函数排序,是很方便的,所以平时用的时候首先推荐的就是这种方式,一来,省去了写排序算法的麻烦,二来,别人写好的东西绝大多数情况下比我们写的运行效率要更高。省事又好用,何乐不为?
但是,作为算法训练,我们依旧要学习如何写前面提到的几种排序算法。先从冒泡排序开始吧。
0 0
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- iOS开发中的细节键盘的影藏的几种方式
- 华为2016校园招聘上机笔试题
- index of("") ==-1
- 网易编程一题个人代码
- 宽带连接批处理文件
- 排序
- MySQL修改root密码的4种方法
- android studio 使用、开发小技巧
- UTF-8编码中的BOM问题
- 2016SDAU课程练习一1002
- 第十讲--Oracle日志原理剖析
- Unknown entity (Hibernate的findById方法参数必须加上包名)
- CF645E-Intellectual Inquiry 贪心
- 产品开发:确定产品具体功能列表的可参考流程