码迷,mamicode.com
首页 > 编程语言 > 详细

漫谈python中的搜索/排序

时间:2015-04-28 13:56:03      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

    在数据结构那一块,搜索有顺序查找/二分查找/hash查找,而排序有冒泡排序/选择排序/插入排序/归并排序/快速排序。如果遇到数据量和数组排列方式不同,基于时间复杂度的考虑,可能需要用到混合算法。如果用C语言自己写,是一个很头疼且门槛很高的过程,python却用很简单的方式,让这类算法人人可用。

       排序的话,python采用了一个sort函数,这个函数用的是一个适应性强的、稳定的、自然的归并算法,名为timsort。而查找,用字典,时间复杂度可以降低到O(1),而字典的实现方式,则是利用了hash函数,而hash查找,则用了开放寻址法。

       举两个例子,见识一下python的简洁

1.排序

In [1]: a_list=[22,33,11,9,77,22]
In [
2]: a_list.sort()
In [
3]: a_list Out[3]: [9, 11, 22, 22, 33, 77]

 

2.查找

In [5]: dict={key1:hh,key2:88,key3:ii}

In [6]: dict[key3]
Out[6]: ii

 

这里可能看不出什么,因为只是简单的用法。当你自己能实现一系列数据结构并能写对应的混合算法时,你才能感受到python在后面做了多少事情。

 

漫谈python中的搜索/排序

标签:

原文地址:http://www.cnblogs.com/alexkn/p/4462608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!