自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gl620321的博客

本网站/论坛/博客经许可他人后建立友情链接,但链接所指向的内容应是本网站/论坛/博客首页。

  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 回溯法 —— 判断子集和问题是否存在解

判断子集和问题是否存在解分析思路:采用回溯法针对问题存在解时求出相应的一个或多个解,或者最优解。如果需要判断问题是否存在解(一个或者多个),可以将求解函数改为bool型,当找到任何一个解时返回true,否则返回false,但当问题没有解时需要搜索所有空间。法一代码:#include<stdio.h>#define MAXN 20int n=4,W;int w[]={0,11,13,24,7}; //存放所有整数解,不用下标为0的元素bool dfs(int tw,int rw

2020-09-25 20:26:25 1106

原创 回溯法 —— 求解子集和问题

求解子集和问题的解题目描述:给定有n个不同正整数的集合w=(w1,w2,… ,wn)和一个正数W,要求找出w的子集s,式该子集中所有元素的和为W。例如,当n=4时,w=(11,13,24,7),W=31,则满足要求的子集为(11,13,7)和(24,7)分析思路:n=4时,解空间树如图(结点中的数字是结点的编号,例如结点18对应解向量为(1,1,0,1),选择的整数和=11+13+7=31),从i层到i+1层(1<=i<=n)的每一条边标有xi的值,xi或者为1或者为0,xi为1时表示取

2020-09-25 19:54:16 21985 2

原创 回溯法 —— 求解0/1背包问题(剪枝)

0/1背包问题题目描述:有n个重量分别为w1,w2,…,wn的物品(物品编号为1~n),它们的价值分别为v1,v2,…,vn,给定一个容量为W的背包。设计从这些物品中选取一部分物品放入该背包的方案,每个物品要么选中要么选不中,要求选中的物品不仅能够放到背包中,而且具有最大价值,并对下表所示4个物品求出W=6时的所有解和最佳解。分析思路:回溯法设n件物品重量分别为w1,w2,…,wn的物品,用数组w[1 … n]存放,物品的价值分别为v1,v2,…,vn,用数组v[n]存放;限制重量用W表示。用x[

2020-09-25 09:45:32 16632 8

原创 回溯法——设计一个算法在1、2、3... 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性和全排列

回溯法题目描述:设计一个算法在1、2、3… 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如1+2+34-5+67-8+9=100分析思路:用数组a存放1 ~ 9的整数,用字符数组op存放插入的运算符,op[i]表示在a[i]之前插入的运算符。采用回溯法产生和为100的表达式,op[i]只能取+、- 或者空格。设计函数fun(op,sum,prevadd,a,i)sum:记录考虑整数a[i]时前面表达式计算的整数和(初始值为a[0])

2020-09-20 17:22:31 3823 2

原创 回溯法 —— 算法框架及应用

回溯法:思想:走不通退回走别的路在包含问题的所有解的空间树中,按照深度优先搜索策略,从根节点出发搜索解空间树。活结点:自身已生成但其孩子结点没有全部生成的结点扩展结点:指正在产生孩子结点的结点,E结点死结点:指其所有结点均已产生的节点首先根节点成为活结点,同时也成为当前的扩展结点在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成为新的活结点,并成为当前扩展结点。如果在当前扩展结点处不能在向纵深方向移动,则当前扩展结点就成为死结点。此时应往回移动(回溯)至最近的一个活结点处,并使这

2020-09-19 19:45:10 4198

原创 蛮力法 —— 求解迷宫问题 —— DFS和BFS

求解迷宫问题问题描述:有如图8×8的迷宫OXXXXXXXOOOOOXXXXOXXOOOXXOXXOXXOXOXXXXXXXOOOOXOOXXXXXXXO其中,O表示通路方块,X表示障碍方块。假设入口位置为(0,0)出口为右下角方块位置(7,7)设计一个程序求指定入口到出口的一条迷宫路径。分析用n表示迷宫大小,用二维数组Maze存放迷宫,从(x,y)方块可以试探上、下、左、右4个方位。假设总是按从方位0到方位3的顺序试探,各方位对应的水平方向偏移量H[4]={0,1,0,-1}、垂直

2020-09-01 12:04:35 3469

原创 蛮力法 —— 求解幂集问题

求解幂级问题问题描述:对于给定的正整数n(n>=1),求1~n构成的集合的幂集(即由1 ~ n的集合中所有子集构成的集合,包括空集合全集)思路一:穷举法时间复杂度:O(n × 2^n)f()的时间为O(n)将1 ~ n存放到数组a中,求解问题变为构造集合a的所有子集合。设集合a[0 … 2]={1,2,3},其所有集合元素对应的二进制及其十进制对于含n(n>=1)个元素的集合a,求解幂集过程如下:for(i=0;i<2^n;i++){ 将i转换为二进制数b

2020-09-01 10:26:35 3233 1

计算机组成原理-思维导图源文件

计算机组成原理思维导图框架,各个章节内容非常详细,可以根据自己的需求进行二次编辑,增加对于知识的熟悉程度

2024-03-01

计算机网络-思维导图源文件

计算机网络思维导图,通过思维导图框架可以快速学习计算机网络的内容,包括物理层,数据链路层,网络层,传输层,会话层,表示层,应用层的全部内容,对计算机网络有一个全面的认识。

2024-03-01

操作系统-思维导图源文件

操作系统——思维导图,可以快速了解OS各个模块的学习内容,思维导图框架具体详细,对整体学习OS有一个认识。

2024-03-01

学生成绩管理系统(源代码)

学生成绩管理系统包括:增加学生信息 、显示学生信息、学生成绩排序 、删除学生信息、学生信息查找 、修改学生信息、学生成绩保存、学生成绩统计、系统安全退出

2020-04-21

Java实验报告(包含课后习题).docx

Java实验报告详细代码第1章-第10章(部分课后重点习题),附代码运行截图,实验3:Java流程控制,实验4:Java类与对象,实验5:Java包的使用与访问控制,实验6:Java继承与多态,实验7:Java 抽象类,实验9:数组与字符串,实验10:Java常用类与日期类

2020-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除