自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法与分析

回溯法是一种组织搜索的一般技术,有“通用的解题法”之称,用它可以系统的搜索一个问题的所有解或任一解。有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。可以系统地搜索一个问题的所有解或任意解,既有系统性又有跳跃性。回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种以深度优先的方式系统地搜索问题的解的方法称为回溯法。2n皇后问题#include<bits/stdc++.h>using namespac

2020-05-09 11:17:08 124

原创 算法与分析

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式一行,为导弹依次飞来的高度输出格式两行,...

2020-05-09 11:15:51 99

原创 算法与分析

从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解#include<bits/stdc++.h>using namespace std;struc

2020-05-09 11:14:42 133

原创 算法与分析

动态规划(该算法常用于求解具有某种最优性质的问题)1、基本思想:将待求解问题分将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。注:该问题分解得到的子问题往往不是相互独立的。在动态规划法中:我们可以用一个表记录所有以解的子问题的答案。不管这些子问题的解之后有没有被用到,只要它们被计算过就将其表格填入表中。这样在我们需要时可以直接从表中找出,避免了大量的重复计算,节省时间。所以具体的动态规划算法多种

2020-05-09 11:13:42 93

原创 算法与分析

可行性:如果原问题可分割成k个子问题(1<k≤n),且这些子问题都可解,并可利用这些子问题的解求出原问题的解,那么这种分治法就是可行的。一、递归算法:程序直接或间接调用自身的编程技巧1、优点:一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。2、递归需要有边界条件、递归前进段和递归返回段。(1)、当边界条件不满...

2020-05-09 11:12:42 81

原创 算法设计与分析 递推

递推算法的首要问题是得到相邻的数据项间的关系(即递推关系)。递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单运算。一般说来,可以将递推算法看成是一种特殊的迭代算法。分析:从递推的思想出发,a[i][j]=max{a[i][j]+a[i+1][j],a[i][j]+a[i+1][j+1]},a[1][1] 即为所求的数字总和的最大值。#include<bits/stdc++.h>using namespace std;int Max(int a,i.

2020-05-09 11:11:42 397

原创 栈和队列(补)

栈是限定仅在表的一端进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶,​另一端称为栈底,不含任何数据元素的栈称为空栈。​栈中元素除了具有线性关系外,还具有后进先出的特性。.栈的顺序储存结构称为顺序栈。顺序栈本质上是顺序表的简化,唯一需要确定的是用数组的哪一端表示栈底。顺序栈​constintMAX_SIZE=100;template<class T>...

2019-12-01 10:39:19 88

原创 链表(补)

双链表1.如果希望快速​确定单链表中任一结点的前驱结点,可以在单链表中再设置一个指向其前驱结点的指针域,这样就形成了双链表。2.在双链表中,每个结点在存储数据元素的同时,还存储了其前驱元素和后继元素所在结点的地址信息。双链表的结点定义结构:template<class T>struct​ Node{T data;Node<T>*prior,*...

2019-12-01 10:34:32 148

原创 字符串

串是零个或多个字符组成的有序序列​串长度是串中所包含的字符个数空串指长度为零的串​主串是指包含子串的串子串是指串中任意个连续的字符组成的子序列顺序串:用数组来存储串中的字符序列​表示串的长度:​int BF(char S[ ], char T[ ]){i=0; j=0;while (i<S.Length()&&j...

2019-12-01 10:30:07 73

原创 树和二叉树

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

2019-12-01 10:25:23 68

原创

图的基本术语:(1)邻接、依附。(2)顶点的度、入度、出度。(3)有向完全图、无向完全图。(4)稠密图、稀疏图。(5)路径、路径长度、回路。(6)简单路径、简单回路。(7)子图。(8)连通图、连通回路。(9)强连通图、强连通分量图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G=(V,E)...

2019-12-01 10:15:28 79

原创 链表

在C++中,可以用结构类型来描述单链表的结点 ,由于结点的元素类型不确定,所以采用C++的模板机制。 template <typename T> struct Node {   T data;   Node<T> *next;单链表的实现template <class T>class LinkList {  public:  LinkL...

2019-10-13 20:41:56 102

原创 课堂笔记

第一章:数据结构:逻辑关系包括集合结构,线性结构,树结构,图结构。数据的存储结构又称为物理结构。顺序存储结构和链接存储结构。算法的描述方法:自然语音 流程图 程序设计语言 伪代码算法分析算法的时间复杂度 算法的空间复杂度第二章线性表:线性表简称表是n个数据元素的有限序列L=(a1,a2…an)​ai 表示该元素在线性表中的位置。线性...

2019-09-17 16:18:01 353

原创 类的总结

类的定义​类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。类的基本思想是数据抽象和封装。结构体内的函数被称为成员函数,结构体的数据成为数据成员。这样的结构体被称为类。这种结构体类型的变量被称为对象。class定义类,class的成员没有设置访问限定符,啧则默认为private,struct成员默认访问限定是...

2019-04-14 16:35:48 68

原创 四五章总结

数组、结构体、指针是C++的3种复合类型。指针是被设计用来存储地址的变量。通常说,指针指向存储的地址。指针声明指出了指针指向的对象的类型。const限定指针和引用const限定词将一个对象限定为常量。const也可以限定指针和引用。结构体联合和枚举结构体把一组来自不同类型的数据组合在一起构成复合类型,每个数据都是结构体的成员联合由union定义也称公用体内置数组...

2019-03-24 17:24:01 93

原创 数组

字符串读取:scanf("%s",string1);//不用地址符号&amp;,因为数组名是数组的起始地址字符串显示:printf("%s",string1);e.g.char string1[]="goodgirl";//字符串charstring1[]={'g','o','o','d','\0','g','i','r','l','\0'};//上下声明等价'空字符'='\0...

2018-12-23 17:23:00 82

原创 循环语句

  循环语句: for语句   for(表达式1;表达式2;表达式3){循环语句} 适用于循环次数已知,计算控制的循环。 while语句   while(表达式){循环体语句} 适用于循环次数未知,条件控制的循环。 do-while语句  do{循环体语句}while(表达式)适用于循环次数未知,条件控制的循环。 break语句 用于退出switch或一层循环结构,用于流程控制。 c...

2018-12-09 17:22:20 109 1

原创 循环语句

循环语句:for语句   for(表达式1;表达式2;表达式3){循环语句} 适用于循环次数已知,计算控制的循环。while语句   while(表达式){循环体语句}适用于循环次数未知,条件控制的循环。do-while语句  do{循环体语句}while(表达式)适用于循环次数未知,条件控制的循环。break语句 用于退出switch或一层循环结构,用于流程控制。cont...

2018-12-09 17:21:06 104

原创 循环语句

循环语句:for语句   for(表达式1;表达式2;表达式3){循环语句} 适用于循环次数已知,计算控制的循环。while语句   while(表达式){循环体语句}适用于循环次数未知,条件控制的循环。do-while语句  do{循环体语句}while(表达式)适用于循环次数未知,条件控制的循环。break语句 用于退出switch或一层循环结构,用于流程控制。cont...

2018-12-09 17:19:21 158

原创 C语言学习总结

构建c程序步骤1.打开2.构建工具栏-文件3.c或c++4.确定文件储存路径5.文件名6.编辑原程序7.构建原程序8.运行#include#includeint main(){cout&lt;&lt;‘’hello world‘’;return 0;}c语音处理的数据有常量和变量两种基本形式,区别在于:在程序执行的过程中,常量的值保持不变,变量的值是可以改变的。c...

2018-11-11 09:55:11 106

原创 c语音知识点总结

构建c程序步骤1.打开2.构建工具栏-文件3.c或c++4.确定文件储存路径5.文件名6.编辑原程序7.构建原程序8.运行#include&lt;iostream&gt;#include&lt;estdio&gt;int main(){cout&lt;&lt;‘’hello world‘’;return 0;}c语音处理的数据有常量和...

2018-11-11 09:43:37 1188

空空如也

空空如也

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

TA关注的人

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