直接选择排序

直接选择排序(Selection Sort)特性总结

  1. 理解难度:算法思想非常直观、易于理解。

    • 每一轮从未排序部分中选出最小(或最大)元素,放到已排序部分的末尾。
    • 但由于效率较低,在实际工程中很少使用
  2. 时间复杂度

    • **最好 / 平均 / 最坏情况均为 $ O(n^2) $ **
    • 原因:无论输入数据如何,都需要进行约 $ \frac{n(n-1)}{2} $ 次比较。
  3. 空间复杂度

    • ** O(1) **(原地排序)
    • 仅使用常数个额外变量,无需额外存储空间。
voidSelectSort(int*arr,intn){intbegin=0;intend=n-1;while(begin<end){intmax=end,min=begin;//让max和min跟随begin和end更新,避免因为没有发生交换等情况最后导致错误交换值。for(inti=begin;i<=end;i++){if(arr[i]>arr[max]){max=i;//选择排序只交换当前值与最值,如果此处直接交换,会造成多次交换,破坏原有的序列。}if(arr[i]<arr[min]){min=i;}}Swap(&arr[max],&arr[end]);if(min==end)//先选择最大值时如果最小值在序列尾,会造成交换最小值前,最小值的下标发生变化,此时需要变更下标,若选择先排最小值,同理要防止最大值出现在begin位置时造成的下标偏移{min=max;}Swap(&arr[min],&arr[begin]);begin++;end--;}}

该代码中为直接选择排序的优化方法——双向选择排序,同时对首端和尾端选择,可以提升选择排序效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1222612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想远程调用?Hunyuan-MT-7B-WEBUI开放端口方法来了

想远程调用&#xff1f;Hunyuan-MT-7B-WEBUI开放端口方法来了 你刚部署好 Hunyuan-MT-7B-WEBUI&#xff0c;点开“网页推理”按钮&#xff0c;页面却显示“无法访问此网站”或“连接被拒绝”——不是模型没跑起来&#xff0c;而是服务默认只监听本地回环地址&#xff08;127.0…

手把手教你用CCMusic搭建个人音乐分析平台

手把手教你用CCMusic搭建个人音乐分析平台 你有没有想过&#xff0c;让AI像人类一样“听懂”音乐&#xff1f;不是简单识别节奏或音高&#xff0c;而是真正理解一首歌的风格气质——是爵士的慵懒、摇滚的躁动&#xff0c;还是古典的庄严&#xff1f;今天要介绍的这个镜像&…

数字系统设计入门:全加器到数码管的完整示例

以下是对您提供的博文《数字系统设计入门&#xff1a;全加器到数码管的完整技术分析》进行 深度润色与专业重构后的版本 。本次优化严格遵循您的全部要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;语言自然、老练、有“人味”&#xff0c;像一位在FPGA一线摸爬滚打多年、又…

图文并茂:Live Avatar安装与运行全过程记录

图文并茂&#xff1a;Live Avatar安装与运行全过程记录 Live Avatar是阿里联合高校开源的数字人模型&#xff0c;能将静态人像、文本提示和语音输入融合生成自然生动的说话视频。它不是简单的唇形同步工具&#xff0c;而是基于14B参数规模的端到端生成式数字人系统——人物动作…

LoRA微调开启了吗?Live Avatar模型加载细节揭秘

LoRA微调开启了吗&#xff1f;Live Avatar模型加载细节揭秘 在开始阅读之前&#xff0c;如果你正尝试部署 Live Avatar 这类高显存需求的数字人模型&#xff0c; 本文将帮你避开最常踩的“显存陷阱”&#xff0c;并真正搞懂&#xff1a;LoRA 是不是在运行、为什么 54090 仍失败…

视频本地缓存技术全解析:从原理到跨场景应用方案

视频本地缓存技术全解析&#xff1a;从原理到跨场景应用方案 【免费下载链接】shaka-player JavaScript player library / DASH & HLS client / MSE-EME player 项目地址: https://gitcode.com/GitHub_Trending/sh/shaka-player 在流媒体应用日益普及的今天&#xf…

JUCE框架:跨平台音频开发的一站式解决方案

JUCE框架&#xff1a;跨平台音频开发的一站式解决方案 【免费下载链接】JUCE 项目地址: https://gitcode.com/gh_mirrors/juce/JUCE JUCE框架&#xff08;Jules Utility Class Extensions&#xff09;是一套专为音频应用开发打造的C工具集&#xff0c;它将跨平台音频开…

新手常问:HeyGem需要GPU吗?处理速度怎么样?

新手常问&#xff1a;HeyGem需要GPU吗&#xff1f;处理速度怎么样&#xff1f; 很多刚接触 HeyGem 数字人视频生成系统的用户&#xff0c;打开镜像、准备上传音频和视频时&#xff0c;心里都会冒出两个最实在的问题&#xff1a; 我的服务器没装显卡&#xff0c;能跑起来吗&am…

5分钟零基础上手openpi:告别机械臂AI控制部署烦恼

5分钟零基础上手openpi&#xff1a;告别机械臂AI控制部署烦恼 【免费下载链接】openpi 项目地址: https://gitcode.com/GitHub_Trending/op/openpi 你是否曾因机械臂控制环境配置耗时而沮丧&#xff1f;是否面对硬件兼容性问题无从下手&#xff1f;是否因学习曲线陡峭而…

Coze-Loop对比测试:AI优化前后的代码差异

Coze-Loop对比测试&#xff1a;AI优化前后的代码差异 1. 为什么需要“看得见”的代码优化&#xff1f; 你有没有过这样的经历&#xff1a; 写完一段功能正常的代码&#xff0c;心里却总觉得哪里不对劲&#xff1f; 可能是嵌套太深、变量名像天书、循环逻辑绕得自己都晕&#…

virtualenv隔离环境,HeyGem依赖管理更规范

virtualenv隔离环境&#xff0c;HeyGem依赖管理更规范 在部署 HeyGem 数字人视频生成系统时&#xff0c;你是否遇到过这些情况&#xff1a; 启动 start_app.sh 报错 ModuleNotFoundError: No module named gradio&#xff1f;安装了 PyTorch 却提示 CUDA not available&#…

Qwen2.5推理成本核算:每千token消耗资源详解

Qwen2.5推理成本核算&#xff1a;每千token消耗资源详解 1. 为什么需要关注Qwen2.5的推理成本 你有没有遇到过这样的情况&#xff1a;模型跑起来了&#xff0c;对话也流畅&#xff0c;但一算账——GPU显存吃紧、响应变慢、批量处理卡顿&#xff1f;尤其当你用的是Qwen2.5-0.5…

亲测阿里通义Z-Image-Turbo,生成图片效果惊艳到不敢相信

亲测阿里通义Z-Image-Turbo&#xff0c;生成图片效果惊艳到不敢相信 你有没有过这样的时刻&#xff1a;输入一段文字&#xff0c;按下回车&#xff0c;几秒钟后——屏幕亮起一张高清、细腻、构图考究、光影自然的图片&#xff0c;细节丰富到连猫咪胡须的弧度都清晰可辨&#x…

小白也能懂:Face Analysis WebUI人脸检测系统入门教程

小白也能懂&#xff1a;Face Analysis WebUI人脸检测系统入门教程 1. 这个系统到底能帮你做什么&#xff1f; 你有没有遇到过这些情况&#xff1a; 想快速知道一张合影里有多少人、每个人大概多大年纪、是男是女&#xff1f;做证件照审核时&#xff0c;需要确认人脸是否正对…

语音合成太慢怎么办?GLM-TTS提速技巧汇总

语音合成太慢怎么办&#xff1f;GLM-TTS提速技巧汇总 你有没有遇到过这样的场景&#xff1a; 输入一段50字的文案&#xff0c;点击“开始合成”&#xff0c;盯着进度条等了28秒&#xff0c;结果生成的音频还带点卡顿&#xff1b; 想批量制作100条客服提示音&#xff0c;跑了一…

本地部署AI绘画,Z-Image-Turbo到底香不香?

本地部署AI绘画&#xff0c;Z-Image-Turbo到底香不香&#xff1f; 你有没有过这样的体验&#xff1a;在电商后台赶着改主图&#xff0c;输入提示词后盯着进度条数秒——3秒、5秒、8秒……最后生成的图还偏色&#xff1b;或者想给朋友圈配一张“秋日银杏大道穿汉服的侧影”&…

Qwen-Image-2512踩坑记录:这些错误千万别再犯

Qwen-Image-2512踩坑记录&#xff1a;这些错误千万别再犯 你兴冲冲地拉起 Qwen-Image-2512-ComfyUI 镜像&#xff0c;双击运行 1键启动.sh&#xff0c;满怀期待点开 ComfyUI 网页——结果卡在加载界面、报错弹窗满天飞、工作流一跑就崩、生成图全是乱码或黑块……别急&#xf…

实测微软VibeVoice:4人对话AI配音效果惊艳,操作超简单

实测微软VibeVoice&#xff1a;4人对话AI配音效果惊艳&#xff0c;操作超简单 你有没有试过——花一整天写好一篇播客脚本&#xff0c;却卡在配音环节&#xff1f;找四位配音演员协调档期、统一风格、反复返工……最后成片还带着录音棚的“塑料感”&#xff1f; 这次我实测了微…

IDEA启动SpringBoot项目之后显示端口被占用如何Kill掉?

1. 查看是哪个端口号被占用&#xff0c;举例&#xff0c;8081端口被占用&#xff0c;那就打开终端并输入lsof -i:8081、目的是去看PID&#xff1a;PID Process ID 进程ID 2. 执行 kill -9 PID 或者 kill PID&#xff0c;杀掉该进程&#xff1a;

从Excel到AI,数据看板工具选型思路梳理

在数据驱动决策逐渐成为共识的今天&#xff0c;数据看板已经从“数据分析师的专属工具”&#xff0c;发展为运营、产品、市场乃至管理层都会频繁使用的核心工具。无论是监控业务指标、分析业务趋势&#xff0c;还是进行数据汇报和决策支持&#xff0c;数据看板都在其中扮演着越…