一,递归:

1.含义:是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。


2.从循环到递归的转化:递归的核心是方法调用方法形成循环,递归过程中方法无法改变,所以可以通过改变参数或者限制条件等方法跳出递归,不要忘记递归出口。

3.循环转化为递归的判断条件:相似性(改参数构建相似性),函数有出口。

二,全排列:

1.含义:n个不同元素中任取mm≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。通俗点讲就是枚举n位字符串的所有组合(用递归思想对一位一位排)

2.例子:1,2,3的全排列有3=6种,分别为1,2,3  1,3,2  2,1,3  2,3,1  3,1,2  3,2,1

蓝桥杯往年常考算法心得

三,快速排序:

  1. 含义:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
  2. 例子:

蓝桥杯往年常考算法心得

四,暴力枚举:

1.理解:在忘记算法怎么写或者想不出简洁的代码进行编译时,可以通过大量的重复代码进行暴力解题,但是要注意是否有时间限制。

相关文章: