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

排序:堆排序(未完待续)

文章目录

  • 排序
    • 一、 排序的概念
      • 1.排序:
      • 2.稳定性:
      • 3.内部排序:
      • 4.外部排序:
    • 二、插入排序
      • 1.直接插入排序
    • 二、插入排序
      • 堆排序


排序


一、 排序的概念

1.排序:

  • 一组数据按递增/递减排序

2.稳定性:

在这里插入图片描述

  • 待排序的序列中,存在多个相同的关键字,拍完序后,相对次序保持不变,就是稳定的

3.内部排序:

  • 数据元素全部放在内存中的排序

4.外部排序:

  • 数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序

二、插入排序

1.直接插入排序

二、插入排序

堆排序

  • 时间复杂度: O( N * log N)
  • 空间复杂的:O (1)
  • 升序:建大堆

  • 降序:建小堆

将一组数据从小到大排序 ——> 建立大根堆

为什么不用小根堆:小根堆只能保证,根比左右小,不能保证左右孩子的大小顺序,并且要求对数组本身进行排序

  • 大根堆,保证堆顶元素是最大值,最大值跟最后一个元素交换,将最大的放在最后,usedSize–;
  • 向下调整:调整0下标的树,维护大根堆,最大值继续交换到最后一个有效元素的位置
  • 从后往前,从大到小依次排列,保证在原来数组本身进行排序
    /*** 堆排序* 时间复杂度: N*logN* 空间复杂的:o(1)*/public void heapSort() {int end = usedSize - 1;//最后一个有效元素while (end > 0) {//直到end等于0swap(elem, 0, end);//交换end位置和堆顶位置元素shiftDown(0, end);//向下调整end--;}}
  • 时间复杂度: O( N * log N)
  • 空间复杂的:O (1)

身体不适,未完待续

点击移步博客主页,欢迎光临~

偷cyk的图

http://www.lryc.cn/news/222444.html

相关文章:

  • 小米智能电视投屏方法
  • 保外就医罪犯收到指定医院《罪犯病情诊断书》及检测、检查报告等其他医疗文书后,应当在规定时限内提交( ),或者受委托司法所审查。
  • pytorh模型训练、测试
  • MySQL 8.0 Clone Plugin 详解
  • 掌握未来技术趋势:深度学习与量子计算的融合
  • 京东数据分析:2023年9月京东笔记本电脑行业品牌销售排行榜
  • 3 任务3 使用趋动云部署自己的stable-diffusion
  • C语言 memset
  • Windows安装svn命令
  • vr航天探索科普展vr航天科普亲子嘉年华
  • 双11“万亿交易额”背后,浪潮信息助力银行扛住交易洪流
  • geoserver发布同一字段的多值渲染
  • 软考 系统架构设计师之考试感悟
  • 深入Spring Cloud LoadBalancer:策略全解析与缓存机制
  • MySQL的高阶语句
  • 适合汽车音频系统的ADAU1977WBCPZ、ADAU1978WBCPZ、ADAU1979WBCPZ四通道 ADC,24-bit,音频
  • 设计模式-状态模式 golang实现
  • 通过docker快速部署RabbitMq
  • Spring Boot 配置文件中的中文读取出来是乱码,或者是问号
  • 【系统架构设计】架构核心知识: 3.8 ADL和产品线
  • imagettftext(): Could not find/open font 解决办法
  • P1853 投资的最大效益(DP背包)
  • LightDB23.4 支持普通表修改为list分区表
  • Java序列化和Json格式的转化
  • ElementUI之el-progress动态修改进度条里面文本颜色与进度条色块统一
  • elementUI的el-menu组件做内部组件和外链区分
  • 使用Ruby编写通用爬虫程序
  • 231108 C语言中是否可以函数内部动态申请内存,再传给外部变量?
  • 基于飞迪RTK/INS组合导航模组的里程计发布方法
  • 无mac电脑获取app的公钥的方法