之前用java时学习的一些基础算法,今天在python上也研究下。

1. 冒泡排序

算法步骤

  50   30   70  90 10

  1)50 跟 30 比不用交换。

  2)步数+1, 30 跟70比交换, 50 70 30 90 10。

  3)步数+1, 30跟90比交换, 50 70 90 30 10。

  4)步数+1, 30跟10比不用交换, 50 70 90 30 10.

  即:一次比较, 排出最小一个元素

再来张图看看(网上找的)

aaarticlea/jpeg;base64,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" alt="" />

# -*- coding: UTF-8 -*-
import random
import datetime
def bubble_sort(array):
for i in range(len(array)):
for j in range(i,len(array)):
if array[j] < array[i]:
tmp = array[j]
array[j] = array[i]
array[i] = tmp def getRandomList():
array = []
for i in range(1, 10000):
array.append(i)
random.shuffle(array)   return array if __name__ == '__main__':
array = getRandomList()
t1 = datetime.datetime.now()
bubble_sort(array)
t2 = datetime.datetime.now()
print t2 - t1
##########
0:00:12.298000
[Finished in 12.5s]

2. 快速排序:

  

  推荐看看这个视频:http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html

def getRandomList():
array = []
for i in range(1, 10000):
array.append(i)
random.shuffle(array) return array def subSort(array,low,high):
key = array[low]
while low < high:
while low < high and array[high] >= key:
high -= 1
while low < high and array[high] < key:
array[low] = array[high]
low += 1
array[high] = array[low]
array[low] = key
return low def quickSort(array,low,high):
if low < high:
index = subSort(array,low,high)
quickSort(array,low,index )
quickSort(array,index+1,high) if __name__ == '__main__':
array = getRandomList()
t1 = datetime.datetime.now()
# bubble_sort(array)
quickSort(array, 0, len(array)-1)
t2 = datetime.datetime.now()
print t2 - t1
#######
0:00:00.047000
[Finished in 0.2s]

从结果看两个速度差距不是一般大啊!!!!

python排序(冒泡, 快速)的更多相关文章

  1. python排序(冒泡、直接选择、直接插入等)

    冒泡排序 冒泡法:第一趟:相邻的两数相比,大的往下沉.最后一个元素是最大的. 第二趟:相邻的两数相比,大的往下沉.最后一个元素不用比. #冒泡排序 array = [1,5,6,2,9,4,3] de ...

  2. python排序算法实现(冒泡、选择、插入)

    python排序算法实现(冒泡.选择.插入) python 从小到大排序 1.冒泡排序: O(n2) s=[3,4,2,5,1,9] #count = 0 for i in range(len(s)) ...

  3. 44.python排序算法(冒泡+选择)

    一,冒泡排序: 是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个,如果他们的排序错误就把他们交换过来. 冒泡排序是稳定的(所谓稳定性就是两个相同的元素不会交换位置) 冒泡排序算法的运作如下 ...

  4. python 数据结构与算法之排序(冒泡,选择,插入)

    目录 数据结构与算法之排序(冒泡,选择,插入) 为什么学习数据结构与算法: 数据结构与算法: 算法: 数据结构 冒泡排序法 选择排序法 插入排序法 数据结构与算法之排序(冒泡,选择,插入) 为什么学习 ...

  5. 用 Python 排序数据的多种方法

    用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

  6. python排序之二冒泡排序法

    python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩 ...

  7. python排序之一插入排序

    python排序之一插入排序 首先什么是插入排序,个人理解就是拿队列中的一个元素与其之前的元素一一做比较交根据大小换位置的过程好了我们先来看看代码 首先就是一个无序的列表先打印它好让排序后有对比效果, ...

  8. 使用 python -m SimpleHTTPServer 快速搭建http服务

    摘要: 在 Linux 服务器上或安装了 Python 的机器上,可以使用 nohup python -m SimpleHTTPServer [port] & 快速搭建一个http服务. 在 ...

  9. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

随机推荐

  1. delphi access中SQL根据时间查询

    Access数据库虽然功能是差了点,但是有时对一些少量的数据保存很是很方便的,在delphi中也是如此,在查询时免不了要按照日期或 时间作为查询条件,access有些特别. select * from ...

  2. python学习笔记:python字符串

    二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象 ...

  3. 优酷播放器demo

    <!DOCTYPE html> <html lang="en-US"> <head> <meta http-equiv="Con ...

  4. php 数组 (3) reset() end() count() current() key()

    <?php /* count()统计数组中元素的个数 reset() 把数组内部指针移动到数组第一个元素,并返回元素值 end() 把数组内部指针移动到数组最后一个元素,并返回元素值 prev( ...

  5. Python成长之路第二篇(1)_数据类型内置函数用法

    数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...

  6. MySQL索引背后的数据结构及最左原则

    MySQL索引原理 ##索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能 ...

  7. Xmemcached

    http://blog.csdn.net/yuwenruli/article/details/8478201

  8. 载入OpenSSL的动态库——学会使用tryToLoadOpenSslWin32Library和QPair

    Libraries name of openssl? The "library" portion of OpenSSL consists of two libraries. On ...

  9. D、GO、Rust 谁会在未来取代 C?为什么?——Go语言的定位非常好,Rust语言非常优秀,D语言也不错

    不要管我的地位和 D 语言创造者之一的身份.我会坦诚的回答这个问题.我熟悉 Go 和 Rust,并且知道 D 的缺点在哪里.我鼓励人们在 Rust 和 Go 社区相似身份的人,也可以提出他们诚恳的观点 ...

  10. 【hihocoder1255 Mysterious Antiques in Sackler Museum】构造 枚举

    2015北京区域赛现场赛第2题. 题面:http://media.hihocoder.com/contests/icpcbeijing2015/problems.pdf OJ链接:http://hih ...