插入排序
插入排序
一、算法描述
1.1 核心思想
- 数据分为已排序区间和未排序区间
- 插入都是从未排序区间取出元素,插入到已排序区间合适的位置中
- 插入已排序区间时,同时要保证已排序区间的有序性
1.2 细节解释
选择排序
选择排序
一、算法描述
1.1 核心思想
- 数据分为已排序区间和未排序区间
- 从未排序区间中找到最小/最大的元素,放到到已排序区间的尾部
- 执行 n 轮后,所有未排序元素都会迁移到已排序区间中
1.2 细节解释
冒泡排序
冒泡排序
一、算法描述
1.1 核心思想
- 每次操作只会影响相邻的 2 个元素
- 每轮冒泡至少让 1 个元素移动到它正确的位置(1 轮是指从头到尾操作一遍元素)
- 最多经过 n 轮冒泡后,所有元素都会被移到正确的位置
1.2 细节解释
快速排序
快速排序
一、算法描述
1.1 核心思想
- 二分,选取一个分区值,将数据分割成 2 部分:小于和大于
- 递归,对小于大于两部分再排序,不断选点分割数据,直到无法分割为止
- 整个二分过程类似于一棵二叉树,从上往下排序,先确定根节点位置,再处理子树排序
1.2 细节解释