
排序算法
叁玖27
努力学习的菜鸡
展开
-
2021-10-07 C++归并排序
归并排序算法 基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 图解: 基本步骤 找出中间点,将原数组一分为二,两个数组继续划分为四个数组,递归实现。 当子数组只剩下一个元素时自然有序,结束递归。接下来开始合并。 将排序好的两个子数组合并为一个数组。创建一个临时数组,分别用指原创 2021-10-07 10:45:30 · 147 阅读 · 1 评论 -
快速排序算法(C或者C++)
快速排序算法 1. 算法介绍 该算法的实现可分为以下几步: 在数组中选一个基准数(通常为数组第一个); 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边,即将数组一分为二,一般右边均大于基准数,左边均小于基准数; 运用递归,对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素(递归出口),即为全部有序。 2. 模板代码 (代码来源于AcWing第785题) #include <iostream> using namespace std; con原创 2021-10-06 23:16:23 · 200 阅读 · 1 评论