[关闭]
@iwktd981220 2017-11-17T06:12:03.000000Z 字数 516 阅读 355

各种排序

总结笔记


起因

2017.11.17 ,去斌头老师那里上CSI。听了一节课,说的是各种排序:冒泡、选择、插入、快速排序...(没讲归并排序)然后听了就觉得...好像我都懂,但是真正到我自己写伪代码的时候,就觉得并没有这么简单。虽然我学习过这几个排序算法的思想,但是实际上并不牢固。晚上,当我临时发现并没有写过插入时,我再次发现了,原来我对它的印象并没有我想象的那么精确与牢固。所以就出现了今天这份笔记。加油吧!

概述

基本的几种排序算法:

下面有每一个算法有如下几个讨论部分:
1. 伪代码
2. 算法思想
3. 时间复杂度
4. 稳定性没学过喔!试试吧

插入排序

数据结构:数组

伪代码(从小到大)

  1. pointer = start + 1
  2. for pointer to end
  3. key = a[pointer]
  4. beforeP = pointer - 1
  5. for beforeP to start && a[beforeP] > a[pointer]
  6. a[beforeP+1] = a[beforeP]
  7. a[beforeP+1] = key

insertionSortPhoto

循环不变量

此处的循环不变量是pointer以前的元素

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注