本章内容

  • 学习分而治之。有时候,你可能会遇到使用任何已知的算法都无法解决的问题。优秀的算法学家遇到这种问题时,不会就此放弃,而是尝试使用掌握的各种问题解决方法来找出解决方案。分而治之是你学习的第一种通用的问题解决方法。
  • 学习快速排序——一种常用的优雅的排序算法。快速排序使用分而治之的策略。

前一章深入介绍了递归,本章的重点是使用学到的新技能来解决问题。我们将探索分而治之(divide and conquer, D&C) ——一种著名的递归式问题解决方法。

本书将深入算法的核心。只能解决一种问题的算法毕竟用处有限,而D&C提供了解决问题的思路,是另一个可供你使用的工具。面对新问题时,你不再束手无策,而是自问:“使用分而治之能解决吗?”

在本章末尾,你将学习第一个重要的D&C算法——快速排序。快速排序是一种排序算法,速度比第2章介绍的选择排序快得多,实属优雅代码的典范。

results matching ""

    No results matching ""