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

[总结/备赛]备战 CSP-S 2025 初赛总结

被拉到dl24jp集训一整天(我的作业啊啊啊啊啊)

1.排序算法

主要考察稳定性,时间复杂度,原理

1.1.插入排序

最佳时间复杂度:\(O(n)\)

最差时间复杂度:\(O(n^2)\)

平均时间复杂度:\(O(n^2)\)

是否稳定:是

1.2.希尔排序(优化插入排序)

就是把元素分组,每组gap个,对gap中的元素进行插入排序。不断缩小gap值,直至gap=1,进行最后一次排序,之后得到的序列就是有序的

说白了每次进行完插入排序会使大的元素集中在一侧,这样就可以使插入排序之后的比较次数少

最佳时间复杂度:\(O(n log n)\)

最差时间复杂度:\(O(n^2)\)

平均时间复杂度:\(O(n log^2 n)\)

是否稳定:否

补:关于时间复杂度的说明

根据gap每次的取值不同,预排序的效果也不同,最后一次插入排序的效率也就不同

1.3.选择排序

设第\(n\)个元素为基准,向后遍历找最小值,然后和第\(n+1\)个元素交换

这样每次放的都是第\(n+1\)小的元素

最佳时间复杂度:\(O(n^2)\)

最差时间复杂度:\(O(n^2)\)

平均时间复杂度:\(O(n^2)\)

稳定性:否

1.4.

http://www.rkmt.cn/news/4444.html

相关文章:

  • Java运行时jar时终端输出的中文日志是乱码
  • 20231310王宏邦《密码系统设计》第1周
  • 知识点错题整理
  • Linux学习记录(六):添加/删除用户
  • 接口测试---PyMysql
  • linux c应用性能与内存泄露问题排查工具
  • 去去就来
  • 高三试卷
  • 使用 CUDA 12.9 编译 PyTorch 2.4.0
  • 豆包生成C#即梦API HTTP调用实例代码
  • 复制一个数组的方法
  • 选择排序方法
  • ArcGIS Pro 遇到严重的应用程序错误而无法启动 - 教程
  • markdown文件上传到博客园教程
  • ffplay音频重采样 - 教程
  • 深入解析:Qt串口通信学习
  • 题解:P12546 [UOI 2025] Convex Array
  • 玩转 hostnamectl set-hostname:Linux 主机名管理的优雅方式 - 实践
  • Spring八股文 - 实践
  • Clion 基础设置
  • P3957 [NOIP 2017 普及组] 跳房子
  • JavaScript Array 对象
  • WebStorm代码一键美化
  • Golang中设置HTTP请求代理的策略
  • [开源免费] iGTTS(Gemini TTS) 文本转语音(TTS)的命令行工具。
  • 快读快写 学习笔记
  • AI编程实战
  • C#语言中使用using关键字
  • 【C++ 类和对象・高阶深化(下)】再探构造函数(含初始化列表),吃透 static 成员、友元、内部类及对象拷贝编译器优化 - 指南
  • 2