news 2026/6/15 16:28:15

直接选择排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
直接选择排序

直接选择排序(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--;}}

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:46:36

RexUniNLU开箱即用:中文实体识别与情感分析快速入门

RexUniNLU开箱即用&#xff1a;中文实体识别与情感分析快速入门 你是不是也遇到过这样的场景&#xff1f;刚拿到一批电商评论数据&#xff0c;想快速抽取出“屏幕”“电池”“售后”这些产品属性&#xff0c;并判断每条评论对它们的情感倾向——是夸还是骂&#xff1f;又或者在…

作者头像 李华
网站建设 2026/6/15 15:01:28

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

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

作者头像 李华
网站建设 2026/6/15 11:42:41

Qwen2.5-VL视觉大模型实战:手把手教你搭建图片分析机器人

Qwen2.5-VL视觉大模型实战&#xff1a;手把手教你搭建图片分析机器人 1. 为什么你需要一个图片分析机器人&#xff1f; 你有没有遇到过这些场景&#xff1f; 电商运营要快速识别商品图中的文字、价格标签和品牌LOGO&#xff0c;人工核对一天只能看200张&#xff1b;教育机构…

作者头像 李华
网站建设 2026/6/15 11:51:17

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;

作者头像 李华
网站建设 2026/6/15 12:52:52

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

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

作者头像 李华