递归和分治
Vivid-victory
○( ^皿^)っHiahiahia…
展开
-
数据结构——八皇后递归解法
代码来源:https://www.cnblogs.com/houkai/p/3480940.html参考代码:(注解多为自己填写)#include <iostream>#include <stdlib.h> using namespace std;//k为第几行,a[k]为第几列 bool check_2 (int a[],int n){ for(i...转载 2018-11-18 15:58:36 · 380 阅读 · 0 评论 -
【算法设计与分析】循环赛日程表(分治)
本文主要代码及思路来源于:【算法设计与分析(第五版)】【王晓东】【问题描述】设有n=2k个选手要进行网球循环赛,要求设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)循环赛在n-1天之内结束。【问题求解】按问题要求可将比赛日程表设计成一个n行n-1列的二维表,其中第i行、第j列表示和第i个选手在第j天...转载 2019-05-09 20:38:47 · 2755 阅读 · 0 评论 -
【算法设计与分析】归并(合并)排序(分治算法经典问题)
本文主要代码及思路来源于:【算法设计与分析(第五版)】【王晓东】1、基本思想将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行排序,最终将排好序的子集合合并成为所要求的排序//递归描述void MergeSort(Type a[ ], int left, int right){ if (left<right) {//至少有2个元素 ...原创 2019-05-09 19:29:41 · 3663 阅读 · 0 评论 -
【算法设计与分析】棋盘覆盖(递归分治经典问题)
本博客主要代码及思路来源:【算法设计与分析(第五版)】【王晓东】1、题目背景介绍 在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。 在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 易知,在任何一个2k×2k的棋...转载 2019-05-09 16:26:19 · 2256 阅读 · 0 评论 -
【递归】 整数划分问题
资料主要来源于:【计算机算法设计与分析(第五版)】【王晓东】【电子工业出版社】例5 整数划分问题一些经典的递归问题(阶乘,斐波那契),问题本身都具有比较明显的递归关系,因而容易用递归函数直接求解。在本例中,如果设p(n)为正整数n的划分数,则难以找到递归关系,因此考虑增加一个自变量:将最大加数n1不大于m的划分个数记作q(n,m)。可以建立q(n,m)的如下递归关系。(1) q(n,1...转载 2019-03-15 14:59:25 · 3384 阅读 · 0 评论 -
【蓝桥】历届试题 第39级台阶 (递归,简单DP)
题目标题: 第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程,或其它的...转载 2019-03-19 21:26:50 · 340 阅读 · 0 评论 -
数据结构——递归求数字旋转方阵
【数字旋转方阵问题】问题描述:输出下图所示N×N(N≥1)的数字旋转方阵。要求:采用递归法实现。提示:注意观察A、B、C、D四个区域。void FillInNum(int number, int begin, int MatrixSize){ // 从数字number开始填写, 例如从1开始填写;// MatrixSize为N维方阵,第一个填充的左上角的下标为(begin, beg...原创 2018-11-18 14:46:27 · 1378 阅读 · 0 评论 -
【递归】数据结构——栈的应用(递归经典:Hanoi汉诺塔)
代码来源于:【数据结构】【严蔚敏】递归经典问题:汉诺塔(插个题外话哈,Hanoi是越南首都河内)思路(关键理解点):假设只有两个盘子(实在没法完全理解全部过程的,把两个盘子的过程捋清楚了,代码也就记住了)(n=2,x=a,y=b,z=c){hanoi(1,x,z,y);{move(x,1,z)//这里的z在(n=2,x=a,y=b,z=c)实际为b盘1号盘:a-&amp;amp;gt;b}m...转载 2018-11-11 19:18:52 · 363 阅读 · 0 评论 -
数据结构——递归法求解栈中最大值和最小值
【递归法求解最大值和最小值】问题描述:若一个无序的线性表A[MaxSize]采用顺序存储方式,元素类型为整型数。试写出递归算法求出A中的最大元素和最小元素。要求: 顺序表的数据通过调用算法initRandomize()随机产生。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#define OK 1#define ERROR 0#de...原创 2018-11-18 13:53:11 · 2525 阅读 · 1 评论