排序算法
基本的排序算法
�我在
这个作者很懒,什么都没留下…
展开
-
ACM 基本排序算法,归并排序(求逆序对)
归并排序 主要运用到的的思想:分治、递归 功能:1.数组进行排序。 2.计算数组中的逆序对的个数。 时间复杂度:稳定的O(nlogn) 空间复杂度:O(n) 附上模板代码: #include<bits/stdc++.h> using namespace std; long long Merge(int a[],int b[],int s,int m,int e){ int i=s,j=m+1,k=s; long long ans=0; while(i<=m &原创 2020-09-29 12:26:55 · 324 阅读 · 0 评论 -
快速排序 以及数组第k大的应用
时间复杂度为:平均为nlog(n),最坏为n²,但很难达到最坏情况 空间复杂度为:O(1),不需要辅助数组,归并排序需要一个O(n)的辅助数组 快速排序第一种写法: #include<bits/stdc++.h> using namespace std; int n, a[100005]; void quickSort(int *a, int l, int r){ if(l >= r) return ; int mid = a[(l+r)/2]; i原创 2021-10-17 11:17:58 · 117 阅读 · 0 评论