冒泡,选择,快速 排序-Python实现

1.选择>>> def choice(l):

a=len(l)

for i in range(a):

maxx=i

for j in range(i+1,a):

if l[j]>l[maxx]:

maxx=j

if maxx!=i:

l[i],l[maxx]=l[maxx],l[i]

print l

2.冒泡排序

>>> def bubble(l):

for i in range(len(l)):

for j in range(len(l)-i-1):

if l[j]>l[j+1]:

l[j],l[j+1]=l[j+1],l[j]

print l

3.快排

def quickSort(a,low,high):

if low

i=low

j=high

temp=a[low]

while i

while a[j]>temp and i

j-=1

if i

a[i]=a[j]

i+=1

while a[i]

i+=1

if i

a[j]=a[i]

j-=1

a[i]=temp

quickSort(a,low,i-1)

quickSort(a,i+1,high)

1.选择>>> def choice(l):

a=len(l)

for i in range(a):

maxx=i

for j in range(i+1,a):

if l[j]>l[maxx]:

maxx=j

if maxx!=i:

l[i],l[maxx]=l[maxx],l[i]

print l

2.冒泡排序

>>> def bubble(l):

for i in range(len(l)):

for j in range(len(l)-i-1):

if l[j]>l[j+1]:

l[j],l[j+1]=l[j+1],l[j]

print l

3.快排

def quickSort(a,low,high):

if low

i=low

j=high

temp=a[low]

while i

while a[j]>temp and i

j-=1

if i

a[i]=a[j]

i+=1

while a[i]

i+=1

if i

a[j]=a[i]

j-=1

a[i]=temp

quickSort(a,low,i-1)

quickSort(a,i+1,high)


相关内容

  • 各种排序的时间复杂度
  • 排序算法 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作. 分类 在计算机科学所使用的排序算法通常被分类为: 计算的复杂度(最差.平均.和最好表现),依据串列(list)的大小(n).一般而言,好的表现是O.(n log n),且坏的行为是Ω(n2).对於一个 ...

  • 数据结构排序毕业论文
  • 内容摘要 ..................................................................................................................................... 3 关键字 ..... ...

  • 第7章 排序 习题参考答案
  • 习题七 参考答案 一.选择题 1.内部排序算法的稳定性是指( D ) . A .该排序算法不允许有相同的关键字记录 B .该排序算法允许有相同的关键字记录 C .平均时间为0(n log n)的排序方法 D .以上都不对 2.下面给出的四种排序算法中,( B ) 是不稳定的排序. A .插入排序 B ...

  • 实验四题目1
  • 数据结构实验报告 实验名称: 实验四--题目一 学生姓名: 唐文旭 班 级:2013211118 班内序号: 09 学 号: 2013210524 日 期: 2015年1月5日 1.实验要求 使用简单数组实现下面各种排序算法,并进行比较. 排序算法: 1.插入排序 2.希尔排序 3.冒泡排序 4.快 ...

  • 各种排序算法的复杂度排序法
  • 各种排序算法的复杂度 各算法的时间复杂度 平均时间复杂度 插入排序 O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 基数排序 O(n) 希尔排序 O(n^1.25) 1 快速排序(QuickS ...

  • 冒泡排序算法的分析与改进 算法设计
  • 冒泡排序算法的分析与改进 孙伟 (安徽中医学院 医药信息工程学院 09医软一班,安徽合肥,230009) 摘 要: 冒泡排序算法有两个优点:1"编程复杂度"很低,很容易写出代码:2. 具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,但当需要排序的数据 ...

  • 数据结构中几种常见的排序算法之比较
  • 几种常见的排序算法之比较 2010-06-2014:04摘要:排序的基本概念以及其算法的种类,介绍几种常见的排序算法的算法:冒泡排的复杂度,然后以表格的形式,清晰直观的表现出它们的复杂度的不同.在研究学关键词: 一.引言 排序算法,是计算机编程中的一个常见问题.在日常的数据处理中,面对纷繁我们也许有 ...

  • 招聘软件工程师试题
  • 测试题 1. 请分别说明类与对象的关系,类的层次关系. 对象的共性抽象为类 ,类的实例化就是对象. 包含与被包含的关系. 2. 请说明栈与队列的数据结构特性,并说明在实际应用中如何用代码实现栈和队列,请写 出思路. 栈(Stack)是仅限制在表的一端进行插入和删除运算的线性表,通常称插入.删除这一端 ...

  • 第1章数据结构与算法笔试题考点分析
  • 1算法 考试的内容: 1.1 算法的基本概念 1.算法的概念(必记) : 是指解题方案的准确而完整的描述. 分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现.整套的指导方案称之为算法,而具体的实现称之为程序.并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即 ...