排序算法经常在笔试和面试中考到,大部分会问平均时间复杂度、空间复杂度、稳定性和是否原地排序的性质,还有少部分会问到最优、最差时间复杂度,神烦无比。而网上的总结又五花八门、莫衷一是,因而自己也收集材料整理一番,虽然无法做到特别全面,但也希望能覆盖大部分的情况。
排序算法 | 平时时间复杂度 | 最好时间复杂度 | 最坏时间复杂度 | 空间复杂度1 | 原地排序 | 稳定性 |
---|---|---|---|---|---|---|
选择排序2 | 原地 | 不稳定 | ||||
冒泡排序 | 原地 | 稳定 | ||||
插入排序 | 原地 | 稳定 | ||||
希尔排序3 | - | - | - | 原地 | 不稳定 | |
快速排序 | 原地 | 不稳定 | ||||
归并排序4 | 非原地 | 稳定 | ||||
堆排序5 | 原地 | 不稳定 | ||||
计数排序6 | 非原地 | 稳定 | ||||
桶排序7 | 非原地 | 稳定 | ||||
基数排序8 | 非原地 | 稳定 |
DDraceNetwork 是一款开源免费的多人合作平台跳跃游戏(其前身是 Teeworlds 的一个叫 DDRace 的模组),上限高游戏性强,是一个非常独特的合作游戏。本项目依赖众多好心的程序员进行维护,作为一个基本成熟稳定的 C++ 游戏项目,我们可以从这个项目中学习到很多开发相关的知识,甚至如果你有什么改进,也可以为原代码仓库提出 Issue 贡献 PR。
一般机场下载下来的配置都自带很多的规则,但是有时自己需要针对特定的域名和 IP 进行优化。Clash for Windows 的 Mixin 功能,以及 Clash Verge 的全局扩展配置和全局扩展脚本,让我们能在不修改原始配置文件情况下,自由定制配置的能力。