博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python | 桶排序、冒泡排序、选择排序、去重
阅读量:5024 次
发布时间:2019-06-12

本文共 889 字,大约阅读时间需要 2 分钟。

桶排序(简化版)

O(M+N)

a = [5,6,9,2,3,5,4,7,2,1,0,6]t=[]                   # 初始化t(桶)for i in range(10):    t.append(0)for item in a:    t[item]+=1        # 改为 t[item]=1 去重再排序n=0b=[]for item in t:    for k in range(item):        b.append(n)    n+=1print(b)

冒泡排序

O(N^2)

a = [5,6,9,2,3,5,4,7,2,1,0,6]m=len(a)-1n=mwhile n>0:    j=0    while j
a[j+1]: t=a[j] a[j]=a[j+1] a[j+1]=t j+=1 n-=1a

选择排序

最慢 O(N^2) 平均 O(NlogN)

a = [5,6,9,2,3,5,4,7,2,1,0,6]def quicksort(left,right):    if left>right:        return    temp=a[left]              # temp = left 不对 Why?     j=right    i=left    while i!=j:        while a[j]>=temp and i

排序后去重

a = [5,6,9,2,3,5,4,7,2,1,0,6]a.sort()print(a)c=[a[0],]for i in range(1,len(a)):    #错位比较,不同输出,相同表示与前一项值相同则不输出    if a[i]!=a[i-1]:        c.append(a[i])print(c)

转载于:https://www.cnblogs.com/pepperminty/p/10707017.html

你可能感兴趣的文章
HDU 1856
查看>>
课堂作业01--架构师的职责
查看>>
iOS计算富文本(NSMutableAttributedString)高度
查看>>
2017/09/15 ( 框架2)
查看>>
SQL中join的用法
查看>>
POJ 2001 Shortest Prefixes(字典树)
查看>>
【Silverlight】汉诺塔游戏,带AI
查看>>
BigDecimal的引入和概述
查看>>
Oracle database server architecture
查看>>
LeetCode--Remove Duplicates from Sorted List
查看>>
(15)JavaScrip 的一些简单笔记
查看>>
右左法则解决复杂声明
查看>>
Jenkins的新建job和配置job
查看>>
三大类加载器 经典例子
查看>>
为OpenEdx中lms注册模块扩展字段
查看>>
三、模版的使用
查看>>
hihoCoder 1174 拓扑排序·一
查看>>
git 的更新代码的取消
查看>>
UVA - 1103 Ancient Messages
查看>>
《数据挖掘与数据化运营实战 思路、方法、技巧与应用》—— 读书笔记
查看>>