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

上海做网站汉狮网络做销售最挣钱的10个行业

上海做网站汉狮网络,做销售最挣钱的10个行业,宁波市房产交易信息服务网,网站网页设计要求一、快速排序 1、快速排序总结 快速排序是一种高效的排序算法,基于分治法的思想。 分区操作是快速排序的核心,将数组分为两部分。 原地分区可以减少空间复杂度,提高效率。 快速排序的平均时间复杂度为 O(n log n),但在最坏情况…

一、快速排序

1、快速排序总结

  • 快速排序是一种高效的排序算法,基于分治法的思想。

  • 分区操作是快速排序的核心,将数组分为两部分。

  • 原地分区可以减少空间复杂度,提高效率。

  • 快速排序的平均时间复杂度为 O(n log n),但在最坏情况下(如输入数组已经排序)会退化到 O(n²)

2、快速排序的基本思路

  • 选择基准值(Pivot)

    • 从数组中选择一个元素作为基准值。基准值的选择可以是数组的第一个元素、最后一个元素、中间元素,或者随机选择。

  • 分区操作(Partition)

    • 将数组分为两部分:

      • 一部分包含小于基准值的元素。

      • 另一部分包含大于基准值的元素。

    • 基准值最终会放在它最终的位置上。

  • 递归排序

    • 对小于基准值的部分递归调用快速排序。

    • 对大于基准值的部分递归调用快速排序。

  • 合并结果

    • 由于分区操作已经将数组分为两部分,递归排序后,数组自然有序,无需额外的合并操作。

3、快速排序和冒泡排序的区别

  • 冒泡排序

    • 优点:实现简单,代码量少。

    • 缺点:效率低,时间复杂度为 O(n²),不适用于大规模数据。

  • 快速排序

    • 优点:效率高,平均时间复杂度为 O(n log n),适合大规模数据。

    • 缺点:实现相对复杂,不稳定排序算法。

二、代码

def quick_sort(arr):# 如果数组长度小于等于1,直接返回if len(arr) <= 1:return arr# 选择基准值(这里选择最后一个元素)pivot = arr[-1]# 分区操作left = [x for x in arr[:-1] if x <= pivot]  # 小于等于基准值的元素right = [x for x in arr[:-1] if x > pivot]  # 大于基准值的元素# 递归排序左右两部分,并拼接结果return quick_sort(left) + [pivot] + quick_sort(right)# 示例
nums = [3, 2, 1, 5, 6, 4]
sorted_nums = quick_sort(nums)
print(sorted_nums)  # 输出:[1, 2, 3, 4, 5, 6]
http://www.mmbaike.com/news/47759.html

相关文章:

  • 沈阳出名网站网络营销网站设计
  • 晋城市住房和城乡建设局官方网站做百度推广效果怎么样
  • 网易企业邮箱登录入口邮箱手机系统优化软件哪个好
  • 濮阳建网站的河南今日头条新闻最新
  • wordpress添加全屏海报重庆百度搜索优化
  • 做旅游的网站百度关键字搜索量查询
  • 优秀网站例子深圳网络推广的公司
  • 成人免费做视频网站有哪些友情链接举例
  • html做的网站怎么弄seo整站优化
  • 成都网站建设收费明细如何搭建一个自己的网站
  • 做网站是用wordpress还是DW沧州seo公司
  • 网站外包公司该如何运营注册商标查询官网入口
  • jquery 打开新网站5151app是交友软件么
  • 北京高端企业网站百度文库官网入口
  • 网站制作商家入驻十八大禁用黄app入口
  • 网站制作的语言网络营销代运营外包公司
  • wwe中文官网站推广普通话宣传语
  • 平面设计岗位描述怎么写网站seo去哪个网站找好
  • 网站响应是什么产品市场推广方案范文
  • 电影新网站如何做seo优化西安网络优化哪家好
  • 乡镇人大网站建设情况汇报长沙百家号seo
  • 英文网站 字体大小网络营销和网上销售的区别
  • 初学者拟建网站广东省自然资源厅
  • httpd.ini 伪静态 wordpress南宁百度快速排名优化
  • 专业做网站排名多少钱西安关键字优化哪家好
  • 北京网站设计套餐搜索优化
  • 如何做视频网站不侵权推广资源网
  • 3.0效果网站建设多少钱企业内训机构
  • 如何安装网站模板怎么在百度上添加自己的店铺地址
  • 网站开发时会遇到哪些问题关键词优化排名的步骤