有两种代码示例,助你深入理解~
本文特点是会荟萃优秀博客并加上自己独特的见解,希望用最短的话,说最明白的道理~
目录:这里主要说工业和学术常见的几种排序~能对大家思维启迪的,像冒泡这种就是为了简单,时空比较都不够好的就不说啦~
1.归并排序
基本款:
-
一句话特征:
-
分治法的应用,在已经有序的子序列合并,得到完全有序的序列
-
代码part:
C++
(敲重点:有序,所以看到已经有序的序列,还进行排序问题的就要小心是不是归并啦)
-
一句话解法:
-
新建一个数组“小红”,两个有序数组,谁小谁先放进小红。一旦一个放完,另一个全倒进小红
到这里芭芭拉小魔仙变身:
变身1: 两个+无序
-
一句话解法:
-
无序就拆,拆成一个数字就有序了。拆尽即合。合的过程就是基本款。
变身二:两个+对应距离最近
给两个有序数组,求两个数组里距离最近的值是多少
eg:1 3 4 6 .../2 4 8 9...
-
一句话解法:
-
对两个数组进行归并排序,判断下若是来自不同数组,就更新最小值,最后记录结果
愿为天下目,萃聚六路华