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