专栏文章
C++csp-J初赛3
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minprpsh
- 此快照首次捕获于
- 2025/12/02 06:21 3 个月前
- 此快照最后确认于
- 2025/12/02 06:21 3 个月前
排序
https://visualgo.net/zh/sorting
1.选择排序
选择排序(Selection Sort)是一种简单直观的排序算法。其基本原理是:每次从未排序的元素中选出最小(或最大)的一个元素,放到已排序序列的末尾。重复此过程,直到所有元素均排序完毕。选择排序的时间复杂度为 O(n²),且是不稳定的排序方法。
2.插入排序
插入排序是一种简单直观的排序方法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这种算法类似于我们在打扑克牌时整理手中牌的过程,每次将一张牌插入到其他已经排好的牌中的适当位置。
3.归并排序
归并排序是一种基于分治策略的排序算法,它将一个大问题分解为多个小问题来解决,然后将小问题的解合并以解决原问题。在C++中实现归并排序通常涉及递归方法,其中数组被分成两半,每一半被单独排序,然后两个排序好的子数组被合并成一个有序数组。
堆排序
堆排序是一种基于堆数据结构的排序算法,它利用大根堆或小根堆的性质来实现排序。堆是一种特殊的完全二叉树,其中每个节点的值都大于或等于其子节点的值(大根堆),或者每个节点的值都小于或等于其子节点的值(小根堆)。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...