当前位置: 首页 > news >正文

网站建设初验申请表青岛网站建设好不好

网站建设初验申请表,青岛网站建设好不好,长春网站开发senluowx,wordpress怎么设置搜索显示页面1、快排思想 快速排序采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分…

1、快排思想

快速排序采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分别对前后两部分重复上述操作,直到将无序序列排列成有序序列。

2、快排流程

1、选定一个基准元素

2、通过基准将数组分成左右两部分:将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。

2、重复步骤1、2,采用递归的方法:分别将左侧部分、右侧部分,按照步骤1、2排序,直至将无序序列排列成有序序列。

3、快排实现

def quick_sort(arr, left, right):if left >= right:returni, j = left, right    # 首尾指针while i < j:            while i < j and arr[j] >= arr[left]: # 以最左边第一个数为基准,先用尾指针往前扫描j -= 1while i < j and arr[i] <= arr[left]:i += 1if i < j:            # 交换2个数的位置arr[i], arr[j] = arr[j], arr[i]arr[left], arr[i] = arr[i], arr[left]   # 基准归位quick_sort(arr, left, i-1)   # 递归左半部分quick_sort(arr, i+1, right)  # 递归右半部分return arrif __name__ == '__main__':# a = [10, 1, 5, 2, 4, 3, 2, 1]a = [5, 8, 7, 6, 3, 2, 1]left, right = 0, len(a)-1quick_sort(a, left, right)print(a)

4、复杂度分析

(1)时间复杂度分析

平均时间复杂度O(nlog_2n);

待排序列越接近无序,排序效率越高,最好时间复杂度O(nlog_2n)

待排序列越接近有序,排序效率越低,最坏时间复杂度O(n^2)

(2)空间复杂度分析

空间复杂度为O(log_2n),快排是递归进行的,递归需要栈的辅助。

PS:快排是一种不稳定的排序算法。

http://www.dtcms.com/a/599144.html

相关文章:

  • 孤能子视角:生命的活力––弱关系
  • 【医学影像 AI】用于糖尿病视网膜病变检测的固有可解释的稀疏 BagNet模型
  • 网站开发确认函网站开发什么时候用缓存
  • 企业网站建设费用怎么入账三明市住房与建设局网站
  • 06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)
  • 5G独立组网(SA) 和非独立组网(NSA)
  • 第12天python内容
  • 一屏展示网站来宾市住房和城乡建设局网站
  • 库尔勒市建设路街道办网站网站建设详细教程视频教程
  • 论坛网站建设求职网站开发多少钱
  • 计算报告指令
  • MicroService(Redis)
  • 昆明建设局网站代账会计在哪里找
  • 江门骏科网站建设小程序招商加盟
  • thinkadmin后台列表页面展示多图,点击放大镜预览效果
  • 电源完整性10-安装电感与自谐振频率
  • 360搜索网站提交入口wordpress调用文章摘要
  • 基于springboot个人云盘管理系统【带源码和文档】
  • 建商城网站带app多少钱电商数据网站
  • cms网站是什么网站根目录多文件
  • Windows 安装MySQL 9.5
  • leetcode 946 验证栈序列
  • 使用admin api添加kong配置信息
  • 怎么做狼视听网站东莞人才网官方网站
  • 厦门市建设执业资格注册管理中心网站书怎么做pdf下载网站
  • 网站制作定制图苏州工业园区招聘官网
  • 评估工程正成为下一轮Agent演进的重点
  • 哪个网站做相册好苏州网站优化建设
  • 百度账号购买网站引流推广方式
  • 做网站开公司太原建站的模板