空间非常节约,用了一个额外的数组,每层递归完成数组的划分,回溯归来的时候再合并起来,感觉很通用的思想,以前也见过,这次记忆一下.
另外,为了方便划分,对a[]进行了标号,当然b[]也有标号,这样就很容易根据中点index划分数组了,省去了很多很多要考虑的麻烦.
另外,浮点数等于不能写==,要<eps ,因为浮点数是有很多小数点位是不精确的, 这里eps=0.00 00 1,以后就选这个数用好了.
这个算法也复习了一下数组的合并,数组的拆分,思想都很标准,实现也很漂亮.
空间非常节约,用了一个额外的数组,每层递归完成数组的划分,回溯归来的时候再合并起来,感觉很通用的思想,以前也见过,这次记忆一下.
另外,为了方便划分,对a[]进行了标号,当然b[]也有标号,这样就很容易根据中点index划分数组了,省去了很多很多要考虑的麻烦.
另外,浮点数等于不能写==,要<eps ,因为浮点数是有很多小数点位是不精确的, 这里eps=0.00 00 1,以后就选这个数用好了.
这个算法也复习了一下数组的合并,数组的拆分,思想都很标准,实现也很漂亮.