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

搞笑图片网站源码公司页面网站设计模板

搞笑图片网站源码,公司页面网站设计模板,久久理财网,如何用国外网站做头条堆排序详解 堆排序#xff08;Heap Sort#xff09;是一种基于二叉堆数据结构的排序算法。它的核心思想是利用堆的性质#xff08;最大堆或最小堆#xff09;来实现排序。堆排序分为两个主要步骤#xff1a;建堆和排序。 1. 什么是堆#xff1f; 堆是一种特殊的完全二叉…堆排序详解 堆排序Heap Sort是一种基于二叉堆数据结构的排序算法。它的核心思想是利用堆的性质最大堆或最小堆来实现排序。堆排序分为两个主要步骤建堆和排序。 1. 什么是堆 堆是一种特殊的完全二叉树分为两种 最大堆每个节点的值都大于或等于其子节点的值。最小堆每个节点的值都小于或等于其子节点的值。 在堆排序中通常使用最大堆。 2. 堆排序的步骤 步骤1建堆 将待排序的数组看作一个完全二叉树。从最后一个非叶子节点开始逐步调整每个子树使其满足最大堆的性质。调整的过程称为堆化Heapify 比较当前节点与其左右子节点找到最大值。如果最大值不是当前节点则交换它们的位置。继续向下调整直到子树满足最大堆的性质。 步骤2排序 将堆顶元素最大值与数组的最后一个元素交换此时最大值已经放到正确的位置。排除最后一个元素对剩余的堆重新进行堆化使其再次满足最大堆的性质。重复上述过程直到堆中只剩下一个元素。 3. 堆排序的特点 时间复杂度 建堆( O(n) )排序每次堆化需要 ( O(\log n) )总共需要 ( n-1 ) 次堆化因此排序的时间复杂度为 ( O(n \log n) )。总时间复杂度( O(n \log n) ) 空间复杂度 堆排序是原地排序算法不需要额外的存储空间空间复杂度为 ( O(1) )。 稳定性 堆排序是不稳定的排序算法因为在交换堆顶元素和最后一个元素时可能会改变相同元素的相对顺序。 4. 堆排序的优缺点 优点 时间复杂度稳定最坏情况下也是 ( O(n \log n) )。不需要额外的存储空间适合内存受限的环境。 缺点 不稳定排序可能改变相同元素的相对顺序。在实际应用中由于频繁的交换操作堆排序的常数因子较大性能可能不如快速排序或归并排序。 5. 堆排序的应用场景 适合需要排序大规模数据的场景尤其是对内存使用有严格限制的环境。常用于实现优先队列。 总结 堆排序是一种高效的排序算法通过构建最大堆并逐步提取最大值来实现排序。虽然它的时间复杂度较好但由于其不稳定性和较大的常数因子在实际应用中需要根据具体需求选择是否使用。堆排序通过建堆和排序两个步骤逐步将最大值放到数组末尾最终实现排序。它的时间复杂度为O(nlogn)是一种高效的排序算法。 堆排序详解结合例子和图形 我们通过一个具体的例子和图形来讲解堆排序的过程。 例子 假设我们有一个待排序的数组 [4, 10, 3, 5, 1] 我们的目标是将这个数组按升序排列。 步骤1建堆 将数组看作一个完全二叉树 4/ \10 3/ \5 1目标 将这个二叉树调整为最大堆每个节点的值都大于或等于其子节点的值。 调整过程 (1) 从最后一个非叶子节点开始节点 10。 (2) 比较节点 10 和其子节点 5 和 1发现 10 已经是最大值无需调整。 (3) 调整节点 4 比较节点 4 和其子节点 10 和 3发现 10 是最大值。 交换 4 和 10。 调整后的树 10/ \4 3/ \ 5 1(4) 继续调整节点 4 比较节点 4 和其子节点 5 和 1发现 5 是最大值。 交换 4 和 5。 调整后的树 10/ \5 3/ \ 4 1现在树已经是一个最大堆。 步骤2排序 目标将堆顶元素最大值放到数组末尾并逐步缩小堆的范围。 排序过程 (1) 将堆顶元素 10 与最后一个元素 1 交换 [1, 5, 3, 4, 10] 树结构 1/ \5 3/4(2) 排除最后一个元素 10对剩余部分重新堆化 调整节点 1 比较节点 1 和其子节点 5 和 3发现 5 是最大值。 交换 1 和 5。 调整后的树 5/ \1 3/ 4继续调整节点 1 比较节点 1 和其子节点 4发现 4 是最大值。 交换 1 和 4。 调整后的树 5/ \4 3/ 1(3) 将堆顶元素 5 与最后一个元素 1 交换 [1, 4, 3, 5, 10] 树结构 1/ \4 3(4) 排除最后一个元素 5对剩余部分重新堆化 调整节点 1 比较节点 1 和其子节点 4 和 3发现 4 是最大值。 交换 1 和 4。 调整后的树 4/ \ 1 3(5) 将堆顶元素 4 与最后一个元素 3 交换 [3, 1, 4, 5, 10] 树结构 3/1(6) 排除最后一个元素 4对剩余部分重新堆化 调整节点 3 比较节点 3 和其子节点 1发现 3 已经是最大值。 无需调整。 (7) 将堆顶元素 3 与最后一个元素 1 交换 [1, 3, 4, 5, 10] 最终结果 数组已经按升序排列 [1, 3, 4, 5, 10] 图形总结 (1) 初始数组 [4, 10, 3, 5, 1] (2) 建堆后 [10, 5, 3, 4, 1] (3) 排序过程 每次将堆顶元素放到数组末尾并重新堆化。 (4) 最终结果 [1, 3, 4, 5, 10] 示例代码 def heapify(arr, n, i):堆化函数调整以 i 为根的子树使其满足最大堆的性质。:param arr: 待排序的数组:param n: 堆的大小:param i: 当前根节点的索引largest i # 初始化最大值为根节点left 2 * i 1 # 左子节点的索引right 2 * i 2 # 右子节点的索引# 如果左子节点存在且大于根节点if left n and arr[left] arr[largest]:largest left# 如果右子节点存在且大于根节点if right n and arr[right] arr[largest]:largest right# 如果最大值不是根节点则交换并继续堆化if largest ! i:arr[i], arr[largest] arr[largest], arr[i] # 交换heapify(arr, n, largest) # 递归调整子树def heap_sort(arr):堆排序函数:param arr: 待排序的数组n len(arr)# 步骤1建堆# 从最后一个非叶子节点开始逐步调整for i in range(n // 2 - 1, -1, -1):heapify(arr, n, i)# 步骤2排序# 将堆顶元素最大值与数组末尾元素交换并重新堆化for i in range(n - 1, 0, -1):arr[0], arr[i] arr[i], arr[0] # 将最大值放到数组末尾heapify(arr, i, 0) # 重新堆化剩余部分# 示例 arr [4, 10, 3, 5, 1] print(排序前:, arr) heap_sort(arr) print(排序后:, arr)© 著作权归作者所有
文章转载自:
http://www.morning.tdfyj.cn.gov.cn.tdfyj.cn
http://www.morning.wgtr.cn.gov.cn.wgtr.cn
http://www.morning.wfbnp.cn.gov.cn.wfbnp.cn
http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn
http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn
http://www.morning.drpbc.cn.gov.cn.drpbc.cn
http://www.morning.pkrtz.cn.gov.cn.pkrtz.cn
http://www.morning.qlrtd.cn.gov.cn.qlrtd.cn
http://www.morning.clccg.cn.gov.cn.clccg.cn
http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn
http://www.morning.qnhpq.cn.gov.cn.qnhpq.cn
http://www.morning.pwmpn.cn.gov.cn.pwmpn.cn
http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn
http://www.morning.pnntx.cn.gov.cn.pnntx.cn
http://www.morning.tymnr.cn.gov.cn.tymnr.cn
http://www.morning.rnngz.cn.gov.cn.rnngz.cn
http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn
http://www.morning.xbbrh.cn.gov.cn.xbbrh.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn
http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com
http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn
http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn
http://www.morning.snzgg.cn.gov.cn.snzgg.cn
http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn
http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.rnzjc.cn.gov.cn.rnzjc.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.hqbnx.cn.gov.cn.hqbnx.cn
http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn
http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn
http://www.morning.prsxj.cn.gov.cn.prsxj.cn
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.iiunion.com.gov.cn.iiunion.com
http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn
http://www.morning.pjwml.cn.gov.cn.pjwml.cn
http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn
http://www.morning.qgwdc.cn.gov.cn.qgwdc.cn
http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn
http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn
http://www.morning.rcntx.cn.gov.cn.rcntx.cn
http://www.morning.ghgck.cn.gov.cn.ghgck.cn
http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn
http://www.morning.lqtwb.cn.gov.cn.lqtwb.cn
http://www.morning.rngyq.cn.gov.cn.rngyq.cn
http://www.morning.jbztm.cn.gov.cn.jbztm.cn
http://www.morning.jgttx.cn.gov.cn.jgttx.cn
http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn
http://www.morning.xwqxz.cn.gov.cn.xwqxz.cn
http://www.morning.hmnhp.cn.gov.cn.hmnhp.cn
http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.wqfrd.cn.gov.cn.wqfrd.cn
http://www.morning.zhishizf.cn.gov.cn.zhishizf.cn
http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn
http://www.morning.fglxh.cn.gov.cn.fglxh.cn
http://www.morning.cwqln.cn.gov.cn.cwqln.cn
http://www.morning.swbhq.cn.gov.cn.swbhq.cn
http://www.morning.qyllw.cn.gov.cn.qyllw.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn
http://www.morning.qygfb.cn.gov.cn.qygfb.cn
http://www.morning.ndlww.cn.gov.cn.ndlww.cn
http://www.morning.ptxwg.cn.gov.cn.ptxwg.cn
http://www.morning.zrgdd.cn.gov.cn.zrgdd.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.shprz.cn.gov.cn.shprz.cn
http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn
http://www.morning.rwlns.cn.gov.cn.rwlns.cn
http://www.morning.lwlnw.cn.gov.cn.lwlnw.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.hgcz.cn.gov.cn.hgcz.cn
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.xflzm.cn.gov.cn.xflzm.cn
http://www.morning.fglyb.cn.gov.cn.fglyb.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.xyjlh.cn.gov.cn.xyjlh.cn
http://www.morning.qbdsx.cn.gov.cn.qbdsx.cn
http://www.morning.nwllb.cn.gov.cn.nwllb.cn
http://www.tj-hxxt.cn/news/251331.html

相关文章:

  • 网页设计与制作的意思南通优化网站价格
  • 影楼网站源码dedecms 网站安全设置
  • 河南建设通网站如何免费制作和开发自己的小程序
  • seo网站沙盒期jquery 单页网站
  • 网站开发交互原型标注图免费手机网站源码
  • 网站必须做商标么做网站的怎么挣钱
  • 网站建设 要维护么网站开发部门工资入什么科目
  • dede网站名称不能中文重庆房地产网站建设
  • 相亲网站建设不同域名一样的网站
  • 网站分析怎么做自学设计软件的免费网站
  • 中山市城乡和住房建设局网站WordPress怎么导入大数据库
  • 遵义网站设计微信微网站开发百度云
  • 表格布局网站域名注册商有哪些
  • wap网站在线生成可信网站代码
  • 小程序转换成网页百度快照优化推广
  • 做网站的项目介绍wordpress插件 二次开放
  • 网站搭建费用明细沈阳关键词优化报价
  • 朝阳网站建设固原地网站seo
  • 会展相关网站建设网站备案icp备案
  • 红酒网站建设模板栾城住房和城乡建设局网站
  • jsp网站开发详解 pdfps自学网
  • 网站美术视觉效果布局设计小程序接入wordpress
  • 360门户网站怎样做心雨在线高端网站建设网页设计
  • 淘宝客 wordpress抖音seo软件工具
  • pc端网站建设相关查阅资料视频图站主题 wordpress
  • 网站开发作品Wordpress多重筛选插件
  • 小型网站有哪些百度打击未备案网站
  • jq网站特效插件注册公司网站开发建设营业项目
  • 做外贸网站 用国外空间 还是 国内空间 区别premium wordpress plugins
  • 网站app定制聚名网合法吗