logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

递推算法-五种典型的递推关系

目录递推算法有关Fibonacci数列兔子产子问题【例3】骨牌的铺法五种典型的递推关系Ⅰ.Fibonacci数列Ⅱ.Hanoi塔问题Ⅲ.平面分割问题Ⅳ.Catalan数(卡塔兰数 )Ⅴ.第二类Stirling数(斯特林数小结:例题递推算法递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法。这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求

#c++
BFS(广度优先搜索算法)入门

/*** 广度优先搜索* @param Vs 起点* @param Vd 终点*/bool BFS(Node& Vs, Node& Vd){queue<node> Q;Node Vn, Vw;int i;//初始状态将起点放进队列QQ.push(Vs);hash(Vw) = true;//设置节点已经访问过了!while (!Q.empt.

#宽度优先#算法
最大食物链计数(记忆化搜索/拓扑排序)

根据题意我们不难理解该题的意思就是求出一个图中的食物链一共有多少条,而我们知道食物链的起点是生产者不会捕食其他生物,终点时不会被捕食的捕食者,仔细想我们会发现,生产者的入度为0,而不会被捕食的捕食者的出度为0,从入度为0的点开始,这不是拓扑排序的特点吗,因此考虑使用拓扑排序。如上图所示,以蓝色点为起点,红色点为终点,我们不难发现,到达红色点路径数取决于到达与之相连的2、3、4点,而到达它们的路径数

文章图片
#算法#图论
c++ unique函数

unique是 c++标准模板库STL中十分实用的函数之一,使用此函数需要#include <algorithm>头文件该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素(1) 这里的去除并非真正意义的erase,而是把不重复的元素移到前面来,返回值是去重之后的尾地址。(2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用

#c++
DFS(深度优先搜索算法)入门

首先在开始我们的学习之前,我们需要读者拥有递归的知识基础并且在学习之前,我先给出BFS的基本代码模型(基本大部分DFS题目都能按照此模型来写)void dfs(int step){判断边界尝试每一种可能 for(i=1;i<=n;i++){继续下一步 dfs(step+1)}返回}下面开始我们的学习导入首先介绍一下DFS所谓的DFS在我看来就是一条路走到黑,直到无路可走的情况下,才会选择回头

#深度优先#算法
D. Point_Array(类+构造+对象数组)

D. Point_Array(类+构造+对象数组)题目描述上面是我们曾经练习过的一个习题,请在原来代码的基础上作以下修改:1、增加自写的析构函数;2、将getDisTo方法的参数修改为getDisTo(const Point &p);3、根据下面输出的内容修改相应的构造函数。然后在主函数中根据用户输入的数目建立Point数组,求出数组内距离最大的两个点之间的距离值。输入测试数据的组数 t第

#c++
蛇形填数(总结篇)

最近在刷蓝桥杯真题时,又做到了曾经我们做过的“蛇形填数”,只不过上次我们做过的是螺旋形的,而这次我们遇到的是三角形的,如下:该题是一道填空题,我一开始的想法主要是想按照“三角形螺旋规则”将数字都填入一个二维数组,最后查找这个数组内的第20行第20列的元素是什么来解决问题不过后来发现这样做有些麻烦,毕竟这是一道填空题也是做着做着发现了规律,我们依次把第一行第一列、第二行第二列、第三行第三列————的

#c++#蓝桥杯
到底了