博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡,选择,插入,快排,归并,计数
阅读量:4537 次
发布时间:2019-06-08

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

 

1、数据结构和算法

  1.1、严魏敏  数据结构预算法

  1.2、大话数据结构和算法

2、网络

3、计算机的组成原理

4、操作系统

 

常见时间复杂度:效率

O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n2logn)<O(n3)

 

 

 

############################ 冒泡排序def bubbleSort(li):    for i in range(len(li)-1):         flag = False        for j in range(len(li)-i-1):             if li[j+1] < li[j]:                li[j+1],li[j] = li[j],li[j+1]                flag = True        if not flag:            returnl = [2,6,4,9,1,8,7]bubbleSort(l)print(l)###########################
冒泡排序
############################ 选择排序def selectSort(li):    for i in range(len(li)-1):        minLoc = i        for j in range(i+1,len(li)):            if li[j] < li[minLoc]:                li[minLoc],li[j] = li[j],li[minLoc]l = [2,6,4,9,1,8,7]selectSort(l)print(l)###########################
选择排序
############################ 插入排序def insertSort(li):    for i in range(1,len(li)):        tmp = li[i]        j =i - 1        while j >= 0 and li[j] > tmp:            li[j+1] = li[j]            j = j - 1        li[j+1] = tmpl = [2,6,4,9,1,8,7]insertSort(l)print(l)###########################
插入排序
############################ 快速排序def partition(li,left,right):    tmp = li[left]    while left < right:        while left < right and tmp <= li[right]:            right = right -1        li[left] = li[right]        while left < right and tmp >= li[left]:            left = left + 1        li[right] = li[left]    li[left] = tmp    return leftdef quickSort(li,left,right):    if left < right:        mid = partition(li,left,right)        quickSort(li,left,mid-1)        quickSort(li,mid+1,right)li = [10,4,6,3,8,2,5,7]quickSort(li,0,len(li)-1)print(li)###########################
快速排序
############################ 归并排序def merge(li,low,mid,high):    i = low    j = mid + 1    ltmp = []    while i <= mid and j <= high:        if li[i] >= li[j]:            ltmp.append(li[j])            j = j + 1        else:            ltmp.append(li[i])            i = i + 1    while i <= mid:        ltmp.append(li[i])        i = i + 1    while j <= high:        ltmp.append(li[j])        j = j + 1    li[low:high+1] = ltmpdef mergeSort(li,low,high):    if low < high:        mid = (low + high) // 2        mergeSort(li,low,mid)        mergeSort(li,mid+1,high)        print('分解后的元素:',li[low:high+1])        merge(li,low,mid,high)        print('合并后的元素:',li[low:high+1])li = [10,4,6,3,8,2,5,7]mergeSort(li,0,len(li)-1)###########################
归并排序
现在有一个列表,列表中的数范围都在0到100之间,列表长度大约为100万。设计算法在O(n)时间复杂度内将列表进行排序。############################ 计数排序def countSort(li):    count = [0 for i in range(11)]    for x in li:        count[x] += 1    li.clear()    for index,val in enumerate(count):        for i in range(val):            li.append(index)li = [10,4,6,3,8,2,5,7]countSort(li)print(li)###########################
计数排序

 

转载于:https://www.cnblogs.com/xujinjin18/p/9965663.html

你可能感兴趣的文章
电路基础
查看>>
jquery 对象与DOM对象转换
查看>>
DELPHI 调用系统 ADO 配置窗体 提高软件易用性
查看>>
Mongodb 命令及 PyMongo 库的使用
查看>>
div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法(非原创)
查看>>
关于SDWebImage加载高清图片导致app崩溃的问题
查看>>
如何查看方法在哪里被调用
查看>>
HUE的自动化安装部署
查看>>
图片服务器(FastDFS)的搭建
查看>>
myBatis应用
查看>>
RuntimeError: DataLoader worker (pid 18255) is killed by signal: Killed.
查看>>
[PHP] 用AppServ一步到位安装PHP服务器
查看>>
mac brew install redis 报错
查看>>
Work? working!
查看>>
开源收藏
查看>>
profile default1
查看>>
Linux Too Many OpenFiles
查看>>
ural 1303 Minimal Coverage(贪心)
查看>>
学用MVC4做网站三:3.3更新栏目
查看>>
OnFileOpen与OnOpenDocument(转)
查看>>