# 第 29 章 各个击破算法和Google云计算的基础

云计算的一个关键问题是，如何把一个非常大的计算问题，自动分解到许多计算能力不是很强大的计算机上，共同完成。其根本原理是分治算法。

## 分治算法

分治算法即是将一个复杂的问题，分成若干简单的子问题进行解决。然后，对子问题的结果进行合并，得到原有问题的解。

通过分治算法实现矩阵相乘![C=A\times B](https://www.zhihu.com/equation?tex=C%3DA%5Ctimes%20B)：将矩阵![A](https://www.zhihu.com/equation?tex=A)、![B](https://www.zhihu.com/equation?tex=B)划分为小的矩阵，分别放到不同的服务器上计算求得中间值，再进行合并。

## 小结

Google云计算中最重要的MapReduce工具，其原理就是计算机算法中常用的”各个击破“法。
