标签:条件 乘法 汉诺塔 全排列 分类 字段 归并排序 形式 计数
因为把第三节写完了,所以必须要做个总结。
首先题目是递归与分治。
要我说其实主题就三个,递推(并由递推引进递归,毕竟递推要比递归好理解些),组合计数,分治。
一,递推。(递归)
1,什么是递推。
一串序列存在一种关系,可以通过这种关系从前项或前几项中推出后面的项。
2,怎么个应用法?
一般你需要做三步,第一步,找出初始状态;第二步,找到递推公式;第三步,开始递推。
其中难度一般再找出递推公式,因为题目一般不会明显地给你。最简单的应用就是斐波那契数列。
同时在课件中,给出了如下例题
1,骨牌铺棋盘
2,三个难度递增的平面分割问题。
3,从(1,1)到(x,y)有多少种走法的问题。
4,(0,0)走到(n,n),这个好像是组合计数的问题。
3,如何联系到其他知识?
我就来谈谈二分。。二分要有边界,要有单调性。恩,条件数量一样。
4,什么是递归?
直接说递归的定义不好说,但是我们可以先从递归函数的角度出发
若一个函数的定义满足
f(n)=g(n,f(n-1)),n>0; f(0)=a, n=0;
拥有递归式和递归边界,那么这种定义函数的方式就称之为递归定义。
5,递归在哪里应用?
课件给我说的很清楚。
1,数据的定义形式是递归的,比如斐波那契数列这种问题。
2,数据之间的逻辑关系(即数据结构)是递归的,比如树和图的定义等。
3,某些问题的解法是不断重复一种操作,只是问题的规模由大化小,直到某个原操作就结束。就像汉诺塔问题。
4,小练手中的全排列的生成。
同时递推在注意记忆化应用。
6,和其他知识的联系在哪里?
就和递推联系很近。
二,组合计数
1,什么是组合计数
以加法原理和乘法原理为基础,在其之上进行组合等对于数字排列的方法。
以排列组合为基础也行。
(1),什么是加法原理,乘法原理?
加法原理又称分类计数原理,我称之为解渴原理。已知有三种奶茶,四种饮料,我很渴,如果我想要解渴(只你能选择其中一种),那么有多少种解渴方法?显然是7种。
乘法原理又称分步计数原理,我称之为搭配原理。已知你有三种不同的上衣,四种不同的裤子,求你搭配有多少种。显然是12种对吧。
(2),什么是排列,组合?
排列,从N个数中有序地取出M个数的方案数是多少?
!!!组合,从N个数中无序地取出M个数地方案数是多少?
2,组合计数有什么用?
1,杨辉三角形(帕斯卡尔三角形),二项式定理。
2,P3414;
3,卡特兰数,而且这个东西变式还很多多。
三,分治
1,什么是分治?
分治分治,就是分而治之,将大问题分化成一些小问题再逐个击破。
同时从本质上来说,分治和递归的思想很是接近,都是由大化小。
2,分治的应用?
1,归并排序(我觉得这跟分治似乎也没有太大联系。。)
2,以及根据归并求逆序对抱歉我不会。。
3,最大字段和问题。
4,快速幂。
四,其他
1,隔板法。(n个相同的球放到m个不同的袋子里)
2,n个不同的球放到M个不同的袋子中
3,n个不同的球放到m个相同的袋子中
这个解法挺玄幻的。
标签:条件 乘法 汉诺塔 全排列 分类 字段 归并排序 形式 计数
原文地址:https://www.cnblogs.com/beiyueya/p/11622258.html