分治法的原理
讨论问题时,先来了解一下什么是分治法。
分治法的意思就是,分而治之,也就是把一个问题,拆分成几个小问题,最后再汇总解决的方法
通过大整数相乘问题来了解分治法
假如现在我们要求两个大整数相乘的乘积,如1234 * 1234(这里为了了分析简便,所以不举形如1234567891234567这样的大整数,不必要在此纠结),那么按照我们小学学的乘法,就是用乘数的每一项去和1234相乘,这样很明显,算法的时间复杂度是O(n^2),效率很低下,那么有没有一种更好的方式?我们可以使用分治法来解决。
算法分析
首先将X和Y分成A,B,C,D
此时将X和Y的