计数排序

计数排序

一、算法描述

1.1 核心思想

  • 计数排序是桶大小为 1 的桶排序的一种特殊情况
  • 由于桶大小为 1,所以桶内都是相同的值
  • 桶内都是相同的值,无需桶内排序,只需要记录数据频率
  • 最后排序时,按照数据频率将数据填充回原数组

1.2 细节解释

 归并排序

归并排序

一、算法描述

1.1 核心思想

  • 二分,将数据二等均分,然后分别排序,再合并2个排好序的数据
  • 递归,一直二等均分数据,直到无法分割后,才开始递归合并返回
  • 整个二分和合并的过程类似于一棵二叉树,从下往上合并数据,先对子树排序,再合并成根节点

1.2 细节解释

 快速排序

快速排序

一、算法描述

1.1 核心思想

  • 二分,选取一个分区值,将数据分割成 2 部分:小于和大于
  • 递归,对小于大于两部分再排序,不断选点分割数据,直到无法分割为止
  • 整个二分过程类似于一棵二叉树,从上往下排序,先确定根节点位置,再处理子树排序

1.2 细节解释

 快速排序的一些总结

前言:最近又写到了有关快速排序的代码,结果半天写不对。从代码的整体上来说,代码结构是没问题的,就是在边界问题上出现了错误,经过一番思考以及查询资料,终于完美解决了,因此特地小记一下。

快速排序的一些总结

一. 简介

快速排序算法,它的基本处理思路就是:

  1. 先将数据分割成两部分:一份小,一份大
  2. 然后再分别对这两部分数据进行快速排序

以此达到数据的排序,其基本逻辑代码如下: