自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序设计B_作业三——继承与多态内容总结与课程感受

一、内容总结继承不论种方式继承基类,派生类都不能直接使用基类的私有成员 派生类的生成过程 #include <iostream>using namespace std;class A{public: int a; int b;private: int c;protected: int d;};class B: public A{ int c; };main( ){ cout << ” size of A i

2020-05-20 18:23:20 239

原创 算法设计与分析——第6章 回溯算法

回溯法的基本思想子集树与排列树回溯算法搜索子集树的伪代码//形参t为树的深度,根为1void backtrack (int t){  if (t>n) update(x);  else    for (int i=0; i<=1; i++)  //每个结点只有两个子树    {      x[t]=i;        //即0/1      if (constraint(t) && bound(t)) backtr...

2020-05-19 11:56:52 337

原创 算法设计与分析——第5章 贪心算法

1

2020-05-18 16:50:48 259

原创 算法设计与分析——第4章 动态规划

一、动态规划的基本思想二、设计动态规划法的步骤三、动态规划问题的特征矩阵连乘积问题分析最优解的结构分析最优解的结构动态规划算法的基本要素最长公共子序列最大子段和¢给定由n个整数(包含负整数)组成的序列a1,a2,...,an,求该序列子段和的最大值。l当所有整数均为负值时定义其最大子段和为0。¢所求的最优值为:ll例如,当(a1,a2, ……a7,a8)=(1,-3, 7,8,-4,12,

2020-05-14 20:53:39 203

原创 算法设计与分析——第4章 分治法

分治法的设计思想 将一个难以直接解决的大问题,划分成一些规模较小的子问题,以便各个击破,分而治之。更一般地说,将要求解的原问题划分成k个较小规模的子问题,对这k个子问题分别求解。如果子问题的规模仍然不够小,则再将每个子问题划分为k个规模更小的子问题,如此分解下去,直到问题规模足够小,很容易求出其解为止,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解。 分治法的典型情况分治法的求解过程一般来说,分治法的求解过程由以下三个阶段组成: (1)划分:既然是分治,当..

2020-05-14 20:23:18 456

原创 算法设计与分析——第3章 递归与分治策略

递归算法¢程序直接或间接调用自身的编程技巧称为递归算法(Recursion)。¢一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。¢递归需要有边界条件、递归前进段和递归返回段。l当边界条件不满足时,递归前进;l当边界条件满足时,递归返回。l注意:在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口,

2020-05-10 16:54:41 595

原创 算法设计与分析——第二章_递推算法

递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法。这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已知条件,此种方法叫逆推。无论顺推还是逆推,其关键是要找到递推式。这种处理问题的方法能使复杂运算化为若干步重复的简单运算,充分发挥出计算机擅长于重复处理的特点。   递推算法的首要问题是得到相邻的数据项间的关系(即递推关系)。递

2020-05-10 16:40:32 545

原创 算法设计与分析——第一章绪论

算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。算法的五大特性:⑴ 输入:一个算法有零个或多个输入。⑵ 输出:一个算法有一个或多个输出。⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。⑷ 确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。⑸ 可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。算法的描述方法 ⑴ 自然语言优点:容易理解缺点:冗长、二义性使用方法...

2020-05-10 16:27:00 259

原创 程序设计B_作业二——STL内容总结和课程感受

一、STL概述 1、定义STL是C++标准程序库的核心,深刻影响了标准程序库的整体结构STL由一些可适应不同需求的集合类(collection class),以及在这些数据集合上操作的算法(algorithm)构成STL内的所有组件都由模板(template)构成,其元素可以是任意类型STL是所有C++编译器和所有操作系统平台都支持的一种库STL组件2、STL组件...

2020-04-28 17:28:58 157

原创 程序设计B_作业一——二、阶段性相关技巧以及课程感受

相关技巧灵活运用bool类型 布尔型中,ture为1,fasle为0 在main函数中调用此函数,判断是否为1即可判断指定元素是否存在get、set函数get函数用来获取属性值,不改变属性值,可以用于类外调用 set函数用来建立属性,一般情况下都是用set函数初始化,然后用get函数获取所需要的值,从而实现c++的封装性,可以用于在类外修改变量值主函数所有...

2020-04-06 17:54:54 99

原创 程序设计B_作业一——一、阶段知识总结及使用

1.标准库类型string(1)使用string 类要包含头文件<string>(2)string的常用操作1)使用标准库中iostream可以读写string对象2)可以用循环读取未知数量的string对象(键盘输入时,遇空格或回车结束)3)getline()函数(遇回车时结束)4)size()函数返回string对象的长度,即对象中...

2020-04-06 17:14:23 171

原创 程序设计B——递归

程序直接或间接调用自身的编程技巧称为递归算法(Recursion)。直接或间接调用自身的函数称为递归函数它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归的基本思想问题分解:把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,最小问题可以直接解决。递归的关键在于找出递归定义和递归终止条件。递归定义:使问题向边...

2020-03-12 09:27:44 103

原创 查找与排序

折半查找-递归#include<bits/stdc++.h>using namespace std;int data[100];int Search(int low,int high,int k){ if(low>high) return 0; else { int mid=(low+high)/2; if...

2019-12-29 20:03:07 58

原创 第八章 排序技术——数据结构

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

2019-12-29 19:54:57 195

原创 第 7章 查找技术

1.查找的基本概念查找 :在具有相同类型的记录构成的集合中找出满足给定条件的记录。查找的结果 :若在查找集合中找到了与给定值相匹配的记录,则称查找成功;否则,称查找失败。静态查找 :不涉及插入和删除操作的查找 。动态查找 :涉及插入和删除操作的查找。静态查找适用于:查找集合一经生成,便只对其进行查找,而不进行插入和删除操作; 或经过一段时间的查找之后,集中地进行插入和删除等修改...

2019-12-02 23:25:11 112

原创 第 6章 图——数据结构

1.图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G=(V,E)其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。 在线性表中,元素个数可以为零,称为空表;在树中,结点个数可以为零,称为空树;在图中,顶点个数不能为零,但可以没有边。若顶点vi和vj之间的边没有方向,则称这条边为无向边,表示为(vi,vj)。若从顶点vi到v...

2019-12-02 21:18:01 192

原创 顺序存储的二叉树的相关算法

描述写出顺序存储的二叉树的前序遍历、中序遍历、后续遍历算法输入第一行:二叉树中的结点个数n之后的n行中,每一行包含两个数据 :number: 代表结点在完全二叉树中的层序编号(根节点编号是1)value: char 型的数据,代表结点的值输出三行第一行为前序遍历序列第二行为中序遍历序列第三行为后序遍历序列样例输入31 a2 b3 c样例输出...

2019-12-02 19:42:01 249

原创 二叉树的实现

#include<bits/stdc++.h>using namespace std;template <class T>struct BiNode{ T data; BiNode<T> *lchild ,*rchild;};template <class T>class BiTree{ public: ...

2019-12-02 19:37:01 59

原创 第 5 章 树和二叉树_1——数据结构

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

2019-11-12 00:36:39 325

原创 第4章 字符串和多维数组——数据结构

1.字符串串:零个或多个字符组成的有限序列。串长度:串中所包含的字符个数。空串:长度为0的串,记为:" "。非空串通常记为: S=" s1 s2 …… sn "其中:S是串名,双引号是定界符,双引号引起来的部分是串值 ,si(1≤i≤n)是一个任意字符。子串:串中任意个连续的字符组成的子序列。主串:包含子串的串。子串的位置:子串的第一个字符在主串中的序...

2019-11-11 23:30:53 127

原创 第 3章 栈和队列——数据结构

1.特殊线性表——栈栈:限定仅在表尾进行插入和删除操作的线性表。空栈:不含任何数据元素的栈。允许插入和删除的一端称为栈顶,另一端称为栈底。 栈的示意图——插入:入栈、进栈、压栈 删除:出栈、弹栈栈的操作特性:后进先出栈只是对表插入和删除操作的位置进行了限制,并没有限定插入和删除操作进行的时间。栈的抽象数据类型定义 ADT Stack...

2019-11-11 22:39:35 194

原创 第 2章 线性表_1——数据结构

线性表的逻辑结构线性表的顺序存储结构及实现线性表的链式存储结构及实现顺序表和单链表的比较线性表的其他存储方法线性表应用举例

2019-11-11 21:29:23 314

原创 绪论_课程的简单认识——数据结构

1.图灵奖获得者沃思给出了一个著名的公式: 程序=数据结构 + 算法2.用计算机求解问题一般包含两个步骤: ⑴ 抽象出问题的模型;⑵ 求该模型的解。3.数据(Data):是对客观事物的符号表示,在计算机科学中是指能输入到计算机并被计算机程序处理的符号的总称。 数据元素(Data Element):是数据的基本单位,也可以称为结点,在计算机程序中通常作...

2019-11-11 20:36:42 145

原创 整数顺序表的基本运算------数据结构

描述设计整数顺序表的基本运算程序,并用相关数据进行测试输入顺序输入顺序表A的元素个数及各个元素输出第一行:创建顺序表A后,输出所有元素第二行:删除第一个元素,输出删除后的所有元素第三行:输出删除元素后顺序表的长度第四行:在第二元素处插入一个新的元素100第五行:输出第一个元素100所在位置#include<bits/stdc++.h>using na...

2019-10-12 15:33:58 2609

原创 构造有序(升序)的单链表 并实现单链表的逆置------数据结构

构造有序的单链表描述输入输出描述构造有序(升序)的单链表并实现单链表的逆置(可以采用结构化的程序设计方法实现,即不必定义类)输入输入链表中的数据。(用0表示输入的结束,0不能添加到链表中)输出按顺序输出有序链表中的数据#include<iostream>#include<algorithm>using namespace std;int a[100...

2019-10-12 15:28:24 758

空空如也

空空如也

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

TA关注的人

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