自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 回溯算法

回溯算法回溯法是一种组织搜索的一般技术,有“通用的解题法”之称,用它可以系统的搜索一个问题的所有解或任一解。应用回溯法求解时,需要明确定义问题的解空间。问题的解空间应至少包含问题的一个(最优)解。在生成解空间树时,定义以下几个相关概念:活结点:如果已生成一个结点而它的所有儿子结点还没有全部生成,则这个结点叫做活结点。扩展结点:当前正在生成其儿子结点的活结点叫扩展结点(正扩展的结点)。死...

2020-05-03 16:24:34 304

原创 贪心算法

贪心算法在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。1、背包问题给定一个载重量为M的背包,考虑n个物品,其中第i个物品的重量 ,价值wi (1≤...

2020-05-03 12:07:09 258

原创 动态规划

动态规划动态规划算法通常用于求解具有某种最优性质的问题。基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。步骤:1.找出最优解的性质,并刻画其结构特征;2.递归地定义最优值(写出动态规划方程);3.以自底向上的方式计算出最优值;4.根据计算最优值时得到的信息,构造一个最优解。动态规划算法的有效性依赖于问题本身所具有的两个重要性质:(1)最优...

2020-05-03 00:01:29 221

原创 分治法

分治法分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。分治法在每一层递归上都有三个步骤:(1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;(2)解决:若子问题规模较小而容易被解决则直接解,否...

2020-05-01 23:08:38 1294

原创 递归算法(以整数划分为例)

递归算法(以整数划分为例)把一个正整数n表示成一系列正整数之和:正整数n的这种表示称为正整数n的划分。正整数n的不同划分个数称为正整数n的划分数,记作 p(n)。正整数6有如下11种不同的划分,所以 。65+14+2, 4+1+13+3, 3+2+1, 3+1+1+12+2+2, 2+2+1+1, 2+1+1+1+11+1+1+1+1+1正整数n...

2020-05-01 19:35:54 330

原创 递推算法(以数字三角形为例)

递推算法(以数字三角形为例)数字三角形。如下所示为一个数字三角形。请编一个程序计算从顶到底的某处的一条路径,使该路径所经过的数字总和最大。只要求输出总和。  1、 一步可沿左斜线向下或右斜线向下走;  2、 三角形行数小于等于100;3、 三角形中的数字为0,1,…,99测试数据通过键盘逐行输入,如上例数据应以如下所示格式输入:573 88 1 02 ...

2020-05-01 17:56:15 465

原创 排序技术

排序技术一、排序的基本概念1. 排序:给定一组记录的集合{r1, r2, ……, rn},其相应的关键码分别为{k1, k2, ……, kn},排序是将这些记录排列成顺序为{rs1, rs2, ……, rsn}的一个序列,使得相应的关键码满足ks1≤ks2≤……≤ksn(称为升序)或ks1≥ks2≥……≥ksn(称为降序)。正序:待排序序列中的记录已按关键码排好序。逆序(反序):待排序序列...

2019-12-17 11:45:07 354

原创 查找技术

一、查找的基本概念1.列表:由同一类型的数据元素组成的集合。关键码:数据元素中的某个数据项,可以标识列表中的一个或一组数据元素。键值:关键码的值。主关键码:可以唯一地标识一个记录的关键码。次关键码:不能唯一地标识一个记录的关键码。2.查找 :在具有相同类型的记录构成的集合中找出满足给定条件的记录。查找的结果 :若在查找集合中找到了与给定值相匹配的记录,则称查找成功;否则,称查找失败。...

2019-12-16 21:30:07 266

原创

图1.图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G=(V,E)其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。在线性表中,元素个数可以为零,称为空表;在树中,结点个数可以为零,称为空树;在图中,顶点个数不能为零,但可以没有边。稀疏图:称边数很少的图为稀疏图;稠密图:称边数很多的图为稠密图。顶点的度:在无向图中,顶点v的度是指依...

2019-11-25 20:46:34 264

原创 二叉树

二叉树1.逻辑结构(1)定义:二叉树是n(n≥0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。(2)特点:⑴ 每个结点最多有两棵子树;⑵ 二叉树是有序的,其次序不能任意颠倒。(3)具有三个结点的二叉树形态:(4)特殊的二叉树①斜树1 .所有结点都只有左子树的二叉树称为左斜树;2 .所有结点都只...

2019-11-17 21:03:47 323

原创

树1.定义树:n(n≥0)个结点的有限集合。当n=0时,称为空树;任意一棵非空树满足以下条件:⑴ 有且仅有一个特定的称为根的结点;⑵ 当n>1时,除根结点之外的其余结点被分成m(m>0)个互不相交的有限集合T1,T2,… ,Tm,其中每个集合又是一棵树,并称为这个根结点的子树。2.树的基础术语:结点的度:结点所拥有的子树的个数。树的度:树中各结点度的最大值。叶子结点:度...

2019-11-09 21:25:03 164

原创 数组

数组1.数组的定义数组是由一组类型相同的数据元素构成的有序集合,每个元素受n(n≥1)个线性关系的约束,并称该数组为 n 维数组。2.数组的特点元素本身可以具有某种结构,属于同一数据类型;数组是一个具有固定格式和数量的数据集合。3.数组的基本操作⑴ 存取:给定一组下标,读出对应的数组元素;⑵ 修改:给定一组下标,存储或修改与其相对应的数组元素。存取和修改操作本质上只对应一种操作...

2019-11-04 20:52:49 267

原创 队列

队列1.队列的逻辑结构队列:只允许在一端进行插入操作,而另一端进行删除操作的线性表。空队列:不含任何数据元素的队列。允许插入(也称入队、进队)的一端称为队尾,允许删除(也称出队)的一端称为队头。队列的特性:先进先出。2.顺序队列a1,a2,a3,a4依次出队。a1,a2出队。3.循环队列循环队列:将存储队列的数组头尾相接。队空:frontrear队满的条件:(rea...

2019-10-28 22:36:29 137

原创

栈与队列1、栈(1)栈:限定仅在表尾进行插入和删除操作的线性表。空栈:不含任何数据元素的栈。允许插入和删除的一端称为栈顶,另一端称为栈底。插入:入栈、进栈、压栈删除:出栈、弹栈栈的操作特性:后进先出(2)顺序栈①入栈②出栈(3)两盏共享空间top==-1时,栈1为空。top2==stack_size时,栈2为空。...

2019-10-23 22:32:09 163

原创 循环链表

循环链表1、定义特点:首尾相接的链表。可以从任一节点出发,访问链表中的所有节点。判断循环链表中尾结点的特点: q->next==first2、构造循环链表(1)空表的构造template <class T>CycleLinkList<T>:: CycleLinkList( ){ first=new Node<T>;...

2019-10-13 17:35:25 251

原创 单链表

单链表1.单链表的构造(1)头插法template <class T> LinkList<T>:: LinkList(T a[ ], int n) { first=new Node<T>; //生成头结点 first->next=NULL; Node<T> *s; for (int i=0; i&lt...

2019-10-13 17:17:03 208

原创 线性表

线性表一、顺序表1.特点:线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,作用:线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。顺序存储的实现:一维数组存储顺序表中的数据。2. 代码:#include<iostream>using namespace std;con...

2019-09-18 20:50:40 146

原创 模板

模板*1.*函数模板定义:template <模板形参表>返回值类型 函数名(参数表){函数体}例:#include<iostream.h>template<typename T> //模板定义,T为模板参数T abs(T a) { //定义函数模板 return a<0?-a:a;}...

2019-09-18 20:11:46 124

空空如也

空空如也

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

TA关注的人

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