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

哪里建设品牌网站mip织梦手机网站模板

哪里建设品牌网站,mip织梦手机网站模板,网站模板之家,泗洪房产网快速排序#xff08;Quick Sort#xff09; 快速排序是一种高效的排序算法#xff0c;采用分治法#xff08;Divide and Conquer#xff09;策略。它的基本思想是#xff1a;选择一个基准元素#xff08;pivot#xff09;#xff0c;将数组分为两部分#xff0c;使得…快速排序Quick Sort 快速排序是一种高效的排序算法采用分治法Divide and Conquer策略。它的基本思想是选择一个基准元素pivot将数组分为两部分使得左边部分的元素都小于基准元素右边部分的元素都大于基准元素然后递归地对左右两部分进行排序。 快速排序的步骤 选择基准元素从数组中选择一个元素作为基准通常选择第一个、最后一个或中间元素。分区操作将数组分为两部分左边部分的元素小于基准元素右边部分的元素大于基准元素。递归排序对左右两部分递归地应用快速排序。合并结果由于分区操作已经保证了左边部分小于右边部分最终数组自然有序。 时间复杂度 最坏情况O(n²) —— 当每次选择的基准元素都是最小或最大元素时。最好情况O(n log n) —— 当每次选择的基准元素都能将数组均匀分为两部分时。平均情况O(n log n) 空间复杂度 O(log n) —— 递归调用栈的深度。 Python 实现 def quick_sort(arr):if len(arr) 1:return arrpivot arr[len(arr) // 2] # 选择中间元素作为基准left [x for x in arr if x pivot] # 小于基准的部分middle [x for x in arr if x pivot] # 等于基准的部分right [x for x in arr if x pivot] # 大于基准的部分return quick_sort(left) middle quick_sort(right) # 递归排序并合并# 示例使用 arr [3, 6, 8, 10, 1, 2, 1] sorted_arr quick_sort(arr) print(排序后的数组:, sorted_arr)输出结果 排序后的数组: [1, 1, 2, 3, 6, 8, 10]快速排序的详细过程 以数组 [3, 6, 8, 10, 1, 2, 1] 为例 第一轮 选择基准元素 10假设选择最后一个元素。分区结果 左边部分[3, 6, 8, 1, 2, 1]右边部分[] 递归排序左边部分。 第二轮 选择基准元素 1左边部分的最后一个元素。分区结果 左边部分[]右边部分[3, 6, 8, 2] 递归排序右边部分。 第三轮 选择基准元素 2右边部分的最后一个元素。分区结果 左边部分[]右边部分[3, 6, 8] 递归排序右边部分。 第四轮 选择基准元素 8右边部分的最后一个元素。分区结果 左边部分[3, 6]右边部分[] 递归排序左边部分。 第五轮 选择基准元素 6左边部分的最后一个元素。分区结果 左边部分[3]右边部分[] 递归排序左边部分。 合并结果 最终排序结果为 [1, 1, 2, 3, 6, 8, 10]。 快速排序的优缺点 优点 平均时间复杂度为 O(n log n)性能优异。是原地排序算法不需要额外的存储空间。在实际应用中表现良好是常用的排序算法之一。 缺点 最坏情况下时间复杂度为 O(n²)但可以通过优化基准选择策略来避免。不是稳定的排序算法相同元素的相对位置可能改变。 优化快速排序 随机选择基准元素 避免最坏情况的发生提高算法的稳定性。 三数取中法 选择第一个、最后一个和中间元素的中位数作为基准。 小数组使用插入排序 当数组规模较小时插入排序的效率更高。 优化后的快速排序实现 import randomdef quick_sort_optimized(arr):if len(arr) 1:return arrpivot random.choice(arr) # 随机选择基准元素left [x for x in arr if x pivot]middle [x for x in arr if x pivot]right [x for x in arr if x pivot]return quick_sort_optimized(left) middle quick_sort_optimized(right)# 示例使用 arr [3, 6, 8, 10, 1, 2, 1] sorted_arr quick_sort_optimized(arr) print(优化后的排序数组:, sorted_arr)总结 快速排序是一种高效的排序算法适用于大规模数据的排序。通过优化基准选择策略可以进一步提高其性能和稳定性。
http://www.hkea.cn/news/14392693/

相关文章:

  • 做网站的公司怎么发展业务wordpress 多用户插件
  • 做微商网站需要哪些网站地图那么建设
  • 湛江专业建站优质商家wordpress 安装主题
  • 网站外网访问怎么做路由器端口映射wordpress 主题数据
  • 网站动态页面做网站多久才会有收益
  • 江苏省医院网站建设管理规范智慧团建app官网下载
  • 青海建设协会网站wordpress邮箱修改
  • iis网站批量导入wordpress 3.5 漏洞
  • 网站建设合同要交印花税吗河南网站建设公司|河南网站建设价格费用
  • 网站后台管理系统哪个好wordpress下载页制作
  • 凡科怎样免费做网站孟村网站建设公司
  • 网站制作加教程视频论坛怎样发帖推广
  • 郓城网站开发pageadmin建站系统
  • 网站管理制度建设的情况做微网站迅宇科技
  • 网站上如何做相关推荐小说类网站怎么做
  • 运维兼职平台关键词优化价格
  • 专业网站建设办公足球排行榜前十名
  • 怎么用 做网站莆田网站制作
  • 营销型网站设计思路搜索网站老是跳出别的网站要怎么做
  • 汕头网站建设方法河南省建设信息网
  • 可以自己做课程的网站wordpress主题 导航条
  • 如何做网站定位私人定制平台网站
  • wordpress演示站怎么开小程序
  • 哪个网站可以做拼图wordpress 退出登录
  • 搭建网站怎么赚钱微信公众号管理平台手机版
  • 厦门网站建设网站官网网站备案流程图
  • 文山做女主播的在哪个网站建设百度网站多少钱
  • 做玩具订制网站好处凡科网站官网
  • 搜索网站做淘宝客网站建设编码
  • 英文网站数据库如何建设六盘水网站建设