排序算法
文章平均质量分 89
今天不想改bug
便邀东风揽明月,春不许,再回头
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 排序算法(快排、归并排序)
首先选择一个基准值,然后将成绩列表划分为两个子列表,一个包含比基准值小的学生,另一个包含比基准值大的学生。这是因为每次合并操作都可以直接将两个子数组的元素按顺序合并,而顺序排列的数组中相邻的两个子数组大小都为 n/2,因此合并操作的时间复杂度为 O(n)。这是因为每次合并操作都需要遍历整个子数组,而逆序排列的数组中相邻的两个子数组大小都为 n/2,因此合并操作的时间复杂度为 O(n)。5. i的含义:=j的部分都是比1大的,所以j的初值=n。原创 2023-08-31 20:15:00 · 583 阅读 · 0 评论 -
C++ 排序算法的图文讲解
当待排序的数组是逆序的时候,在每次迭代中,找到最小元素的过程需要遍历未排序部分,并且需要执行交换操作将最小元素放置在已排序部分的末尾。把数组当成两个来处理,每次i下标代表的地址就是最小的,把他当成已经排列好的数组,然后用j遍历未排序数组,与i进行比较,如果小于i就进行swap,直到未排序数组为空。计数排序运用的是桶思想,通过统计每个元素出现的次数,并计算元素在排序后数组中的位置,实现对整数数组的排序。最坏的情况就是O(n²)原创 2023-08-28 11:58:36 · 256 阅读 · 2 评论 -
算法入门 时间空间复杂度
对比方法一和方法二,可以发现,所谓的判断某─数值是否是素数,就变成了查找这个数组的某一项的值是多少的问题。分支结构的时间复杂度:如果算法中存在条件判断语句(例如if语句),那么需要考虑每个分支的时间复杂度,并选择最高的那个作为整个分支结构的时间复杂度。通常将这些操作的时间复杂度视为常量,记作O(1)。对数空间复杂度 O(log n):算法所需的额外空间随输入规模的对数级别增长,通常是由于递归调用或分治算法的使用。常数空间复杂度 O(1):算法所需的额外空间是固定的,与输入规模无关,常量级别的空间占用。原创 2023-08-26 10:21:37 · 107 阅读 · 0 评论
分享