算法
算法相关
Katarina_777
这个作者很懒,什么都没留下…
展开
-
归并排序!
归并排序的思想:“归并”的含义是将两个或两个以上的有序子表组合成一个新的有序表。假定待排序表含有n个记录,则可将其视为n个有序的子表,每个子表的长度为1,然后两两归并,得到 ⌈n/2⌉个长度为2或1的有序表;继续两两归并,直到合并成一个长度为n的有序表为止,这种排序称为2路归并排序。C++实现://归并方法vector<int> vec;//辅助数组void Merge(vector<int>& A,int low,int mid,int high){ for(i原创 2021-06-01 01:08:47 · 240 阅读 · 0 评论 -
快速排序
快速排序的思想:快速排序的基本思想是基于分治法的:在待排序表L[1…n]中任取一个元素pivot作为基准,通过一趟排序将待排序表划分为独立的两个部分L[1…k-1]和L[k+1…n],使得L[1…k-1]中的所有元素小于pivot,L[k+1…n]中的所有元素大于等于pivot,则pivot放在了其最终位置L[k]上,这个过程称为一次划分。然后分别递归地对两个子表重复上述过程,直至每部分都内只有一个元素或空为止,即所有元素放在了其最终位置上。C++实现: //定义一次划分的方法int Part原创 2021-04-01 12:35:44 · 149 阅读 · 2 评论