今天就是大年三十了,晚上我和妈妈要去奶奶家吃年夜饭,因此楠楠哥哥就让姥姥到他们家吃饭,楠楠哥哥的妈妈
一家在外面包了一桌。早晨,妈妈又让我跟她一起去超市,因为昨天的超市结算时有活动,即今天再消费100圆就可以
得到10圆优惠的活动,最后我们虽然去了,但是也没有享受到活动。
下午,楠楠哥哥让我和他一起去打乒乓球,我没有睡午觉就去了楠楠哥哥家。楠哥哥家有一个大平台,里面有一个
乒乓球台,我就和楠哥、嫂子、舅妈打了一下午乒乓球。晚上去了奶奶家,在那里和弟弟、奶奶、姑姑见了一面,吃了
顿年夜饭就回家了。
今年收到的一个短信非常有意思,摘抄下来:
冒泡排序,选择排序,插入排序,快速排序,堆排序,归并排序,希尔排序,桶排序,基数排序新年帮您排忧解难。
有向图,无向图,有环图,无环图,完全图,稠密图,稀疏图,拓扑图祝您新年宏图大展。
最长路,最短路,单源路径,所有节点对路径祝您新年路路通畅。
二叉树,红黑树,van Emde Boas树,最小生成树祝您新年好运枝繁叶茂。
最大流,网络流,标准输入流,标准输出流,文件输入流,文件输出流祝您新年顺顺流流。
线性动规,区间动规,坐标动规,背包动规,树型动归为您的新年规划精彩。
散列表,哈希表,邻接表,双向链表,循环链表帮您在新年表达喜悦。
O(1), O(log n), O(n), O(nlog n), O(n^2), O(n^3), O(2^n), O(n!)祝您新年渐进步步高。
祝大家狗年旺旺旺~
这条短信虽短,但是包含了大量信息,有必要总结一下。
排序算法
短信的第一句话包含常见的几种排序算法,这些算法的时间复杂度如下表格:
排序方法 | 时间复杂度(平均) | 时间复杂度(最坏) | 时间复杂度(最好) | 空间复杂度 | 稳定性 | 复杂性 |
---|---|---|---|---|---|---|
直接插入排序 | $$O(n^2)$$ | $$O(n^2)$$ | $$O(n)$$ | $$O(1)$$ | 稳定 | 简单 |
希尔排序 | $$O(nlog_{2}n)$$ | $$O(n^2)$$ | $$O(n)$$ | $$O(1)$$ | 不稳定 | 较复杂 |
直接选择排序 | $$O(n^2)$$ | $$O(n^2)$$ | $$O(n^2)$$ | $$O(1)$$ | 不稳定 | 简单 |
堆排序 | $$O(nlog_{2}n)$$ | $$O(nlog_{2}n)$$ | $$O(nlog_{2}n)$$ | $$O(1)$$ | 不稳定 | 较复杂 |
冒泡排序 | $$O(n^2)$$ | $$O(n^2)$$ | $$O(n)$$ | $$O(1)$$ | 稳定 | 简单 |
快速排序 | $$O(nlog_{2}n)$$ | $$O(n^2)$$ | $$O(nlog_{2}n)$$ | $$O(nlog_{2}n)$$ | 不稳定 | 较复杂 |
归并排序 | $$O(nlog_{2}n)$$ | $$O(nlog_{2}n)$$ | $$O(nlog_{2}n)$$ | $$O(n)$$ | 稳定 | 较复杂 |
基数排序 | $$O(d(n+r))$$ | $$O(d(n+r))$$ | $$O(d(n+r))$$ | $$O(n+r)$$ | 稳定 | 较复杂 |