-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
排序 (四): 归并排序优化 #26
Labels
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
对小规模数组使用插入排序
当数据规模较小的时候,用递归来处理并不划算,所以当数据规模较小时,尝试使用插入排序进行排序。
实现
判断数组是否已经有序
正常情况下,每次将数组折半取得
mid
分成两部分后,最终会调用merge
将两部分归并回去。那么如果前后两部分数组已经是有序的,相当于后部分数组的第一个元素大于前部分数组的最后一个元素,也就没有必要再调用
merge
方法,直接返回即可。对于有序的数组,这样优化后,可以达到线性时间复杂度。
实现
其他部分代码和前面一样,这里只展示修改部分。
The text was updated successfully, but these errors were encountered: