递归,分治,迭代举个例子,说明他们之间的区别与联系
递归:汉诺塔问题,需要将 n 个盘子从 A 柱移动到 C 柱,可以采用递归的思想来解决:先将 A 柱上 n-1 个盘子移动到 B 柱上,再将最后一个盘子移动到 C 柱上,最后将 B 柱上 n-1 个盘子移动到 C 柱上。
分治:快速排序法是一种常用的排序方法,采用了分治的思想。它的基本思路是先从数列中取出一个数作为“基准”(pivot) ,然后将整个数列进行划分成小于“基准”、大于“基准”、等于“基准”三部分。对小于部分重复此过程即可实现快速排序。
迭代:斐波那契数列是一个典型的迭代问题。斐波那契数字以如下被以递归的方法定义:F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2, n∈N*)。因此可以使用循环来计算斐波那契数字而不使用递归方式来实现。
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!