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

排序-表排序

当我们需要对一个很大的结构体进行排序时,因为正常的排序需要大量的交换,这就会造成时间复杂度的浪费

因此,我们引入指针,通过指针+临时变量的方式来避免时间复杂度的浪费

间接排序-排序思路:通过开辟一个指针数组,储存结构体的地址。再用插入排序的方法来更改地址存放在指针数组里的位置(即下标) 最后数组储存地址指向的顺序即是排序后的顺序

物理排序-排序思路:通过“N个数字的排序由若干个独立的环组成”——需要排列的数最后操作都是在若干个闭环中进行  

我们可以在每个闭环中建立一个临时变量,储存一个数据,根据间接排序后的table与数组下标对齐来实现每个元素只移动一次的操作。最后闭环的元素即为tmp

说出来有点绕,举个例子

下面的这个顺序,我们用TMP储存A[0]--f,

然后访问A[3]--a,把A[3]放到A[0],同时table=0

再访问A[1]--d,把A[5]放到A[1],同时table=1

重复上述操作

最后访问到A[3],这时A[3]为空,且table!=3,把tmp放进去,操作结束

 

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

相关文章:

  • 勒索病毒最新变种.locked1勒索病毒来袭,如何恢复受感染的数据?
  • 信号补零对信号频谱的影响
  • 【Gan教程 】 什么是变分自动编码器VAE?
  • T113-S3-buildroot文件系统tar解压缩gz文件
  • 软件测试面试题:压测时,QPS一直上不去,如何排查?
  • 探索JavaScript ES6+新特性
  • Elasticsearch常见错误
  • mysql源码编译安装
  • On Moving Object Segmentation from Monocular Video with Transformers 论文阅读
  • [AutoSar NVM] 存储架构
  • ES10 新特性
  • 宝塔安装脚本
  • gulp打包vue3+jsx+less插件
  • 华为ICT——第四章深度学习和积卷神经
  • MongoDB 学习笔记(基础)
  • 【TGRS 2023】RingMo: A Remote Sensing Foundation ModelWith Masked Image Modeling
  • 性能测试 —— 生成html测试报告、参数化、jvm监控
  • 堆(二叉树,带图详解)
  • vue3 code format bug
  • 7-3、S曲线生成器【51单片机控制步进电机-TB6600系列】
  • CDC实时数据同步
  • javaEE -10(11000字详解5层重要协议)
  • 360智慧生活旗舰产品率先接入“360智脑”能力实现升级
  • 【系统架构设计】 架构核心知识: 2 云原生架构
  • Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)
  • 【疯狂Java】数组
  • leetcode 503. 下一个更大元素 II、42. 接雨水
  • 【德哥说库系列】-PostgreSQL跨版本升级
  • rust学习——智能指针
  • 系列一、Spring Framework