当前位置: 首页 > 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.wxhsa.cn/company.asp?id=3618

相关文章:

  • win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘是分区好还是不分区好?
  • 逆序数及其应用
  • 豆豆守护如何下载?
  • Java运行时jar时终端输出的中文日志是乱码
  • ZK2真空发生器日常清理
  • Nacos服务注册与发现
  • 马的遍历
  • 20231310王宏邦《密码系统设计》第1周
  • 新学期第一次随笔:慢慢学,总会有进步
  • 详细介绍:【C语言】第四课 指针与内存管理
  • 知识点错题整理
  • 202311_陇剑杯预赛_tcpdump
  • Linux学习记录(六):添加/删除用户
  • python 链式调用 合并 __setattr__ __getattribute__ in nested object()
  • 分享一个稳定好用的免费云服务——阿贝云体验
  • 年化439%,回撤7%,卡玛比率62.5,附本地运行的完整策略python代码 - 详解
  • 接口测试---PyMysql
  • My First Blog
  • 设置基础软件仓库时出错
  • linux c应用性能与内存泄露问题排查工具
  • 深入解析:AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划视觉定位力控策略
  • VS Code快捷键
  • API安全厂商综合推荐:2025年权威视角下的主流厂商评估与选型指南
  • 基于FPGA的8PSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
  • 去去就来
  • 使用 CUDA 12.9 编译 PyTorch 2.4.0
  • 豆包生成C#即梦API HTTP调用实例代码
  • 解析几何笔记
  • 基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
  • 详细介绍:boost::circular_buffer的使用方法简介