排序算法思想描述

来源:互联网 发布:决策与判断知乎 编辑:程序博客网 时间:2024/05/16 14:48

排序算法思想描述

---qpz

一、直接选择排序法

a) 核心思想:在无序区间寻找最值与无序区间首元素交换

          遍历所有元素排序

1. 记录无序区间第一个元素位置

2. 向后遍历所有元素寻找最值位置(寻找最大值还是最小值取决于降序还是升序)

3. 遍历结束以后找到最值,交换与记录点的位置,记录点向后移动一位

4. 重复123过程直到所有元素遍历完成

       时间复杂度为On^2) 空间复杂度为O1

 

二、直接插入排序法

a) 核心思想:不断的从无序区间取值插入有序区间使得有序区间依然有序

i. 区第一个元素为有序区间

ii. 取无序区间第一个元素,保存元素值

iii. 将次元素值从后向前与有序区间元素比较(大还是小取决于降序还是升序)

iv. 每次比较开始前将有序区间元素后移

v. 直到找到插入点,将元素插入

vi. 重复2-5步骤直到无序空间为空

b) 时间复杂度为On^2) 空间复杂度为O1

三、冒泡排序法

a) 核心思想:遍历n次,每次遍历不断的交换相邻元素直到本次遍历结束没有交换一次或者n次遍历结束

i. 从第一个元素开始向后遍历,比较本次元素与下一个元素的大小为交换条件(大小取决于降序还是升序)

ii. 记录下一个元素重复1,结束条件为区间最后一个元素

iii. 区间长度-1

b) 时间复杂度On^2) 空间复杂度O1);

 

0 0
原创粉丝点击