排序思路:递归地对两个已排序的子序列进行比较,然后逐一的导入到另一个序列中。
补充:我们需要将原序列不断地一分为二,然后进行排序,同时需要注意比较的序列长度。如果每次都创造一块空间来存放序列则会造成操作的冗余,所以我们只一次性开辟一个与原序列等长的数组空间,并通过指针的改变对这块空间进行访问。
优点:时间复杂度为 强-NlogN
缺点:对指针的操作麻烦,若用递归实现会占用系统的堆栈,算法复杂,一般内排序不使用。
自己的代码实现先欠着,偷一下官方的
微信扫一扫
排序思路:递归地对两个已排序的子序列进行比较,然后逐一的导入到另一个序列中。
补充:我们需要将原序列不断地一分为二,然后进行排序,同时需要注意比较的序列长度。如果每次都创造一块空间来存放序列则会造成操作的冗余,所以我们只一次性开辟一个与原序列等长的数组空间,并通过指针的改变对这块空间进行访问。
优点:时间复杂度为 强-NlogN
缺点:对指针的操作麻烦,若用递归实现会占用系统的堆栈,算法复杂,一般内排序不使用。
自己的代码实现先欠着,偷一下官方的
相关推荐