【初赛】相关——排序的复杂度

Ryan_

2019-10-03 19:56:05

Personal

![](https://ftp.bmp.ovh/imgs/2019/10/f490d3090477c81d.jpg) 注: 1、归并排序每次递归都要用到一个辅助表,长度与待排序的表长度相同,虽然递归次数是O(log2n),但每次递归都会释放掉所占的辅助空间, 2、快速排序空间复杂度只是在通常情况下才为O(log2n),如果是最坏情况的话,很显然就要O(n)的空间了。当然,可以通过随机化选择pivot来将空间复杂度降低到O(log2n)。 相关概念: 1、时间复杂度 时间复杂度可以认为是对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。 常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n2) 时间复杂度O(1):算法中语句执行次数为一个常数,则时间复杂度为O(1), 2、空间复杂度 空间复杂度是指算法在计算机内执行时所需存储空间的度量,它也是问题规模n的函数 空间复杂度O(1):当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1) 空间复杂度O(log2N):当一个算法的空间复杂度与以2为底的n的对数成正比时,可表示为O(log2n) ax=N,则x=logaN, 空间复杂度O(n):当一个算法的空间复杂度与n成线性比例关系时,可表示为0(n).