自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 虚函数与多态

多态性(Polymorphism)是指一个名字,多种语义;或界面相同,多种实现。重载函数是多态性的一种简单形式。虚函数允许函数调用与函数体的联系在运行时才进行,称为动态联编。多态的实现多态性的实现和联编这一概念有关。所谓联编(Binding,绑定)就是把函数名与函数体的程序代码连接(联系)在一起的过程。联编分成两大类:静态联编和动态联编。静态联编优点:调用速度快,效率高,但缺乏灵活性;动态联编优点:运行效率低,但增强了程序灵活性。C++为了兼容C语言仍然是编译型的,采用静态联编。为了实现多.

2020-05-15 22:50:54 1064 2

原创 继承

建立 C 类的对象时,B 的构造函数将被调用两次:一次由B1调用,另一次由 B2 调用,以初始化 C 类的对象中所包含的两个 B 类的子对象

2020-05-14 22:14:43 288

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

6.2 装载问题算法6.3(1) 装载问题回溯算法的数据结构算法6.3(3) 剩余集装箱的重量r初始化6.3 0-1背包问题算法6.4(1) 0-1背包问题回溯算法的数据结构算法6.4(1) 0-1背包问题回溯算法的数据结构算法6.4(2) 0-1背包问题回溯算法的实现//形参i是回溯的深度,从0开始void backtrack(int i)...

2020-05-06 22:53:58 263

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

贪心算法:在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。如果一个问题可以同时用几种方法解决,贪心算法应该是最好的选择之一。5.1 活动安排问题活...

2020-05-06 22:33:09 1435

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

一、动态规划的基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。...

2020-05-04 22:36:35 305

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

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

2020-05-04 21:53:41 455 1

原创 C++标准模板库(STL)使用方法总结

1.vector容器使用方法1.文件包含变量声明使用vector容器需要包含头文件<vector>vector容器的构造函数:vector():创建一个空vectorvector(int nSize):创建一个vector,元素个数为nSizevector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为tvecto...

2020-04-27 15:42:01 822

原创 C++标准模板库(STL)

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

2020-04-23 20:58:38 302

原创 算法设计与分析——递推算法

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

2020-04-17 10:40:19 1846

原创 文件操作

打开和关闭文件要执行文件的输入输出,须做以下几件事:(1) 在程序中包含头文件fstream;(2) 建立文件流。建立文件流的过程就是定义流类的对象,例如:ifstream in;ofstream out;fstream both;分别定义了输入流对象in;输出流对象out,输入输出流对象both。(3) 使用open()函数打开文件,也就是使某一文件与上面的某一流相联系。...

2020-04-11 17:53:04 417

原创 C++程序设计1~6周学习总结

内容概要递归算法复合数据类型结构体类型枚举类型string指针引用类和对象类的定义访问控制成员函数对象对象的定义定义对象时注意要点类成员的访问对象成员的访问形式指针访问形式类定义和使用时的注意要点内联函数内联函数作用内联函数机制内联函数声明成员函数类内实现(内联函数)函数重载构造和析构函数默认构造函数构造函数的初始化列表带默认值的构造函数默认析构函数this指针复制构造函数浅复制与深复制类的其他成...

2020-04-06 22:31:02 358

原创 运算符重载

重载运算符的限制不能重载的算符:. :: .* ?: sizeof可以重载的运算符:/ % ^ & | ~! = < > += -= = /= %^= &= |= << >> >>= <<= == !=<= >= && || ++ – -> ‘ -&...

2020-04-05 23:26:30 86

原创 HTML中标签<th>和<td>的区别

HTML语言中TH和TD的区别:一、字体不同。th 元素内部的文本通常会呈现为居中的粗体文本,而 td 元素内的文本通常是左对齐的普通文本。二、定义的不同 :定义表格的表头, :定义表格单元。三、用法上的不同:是的上层标签,必须在一个里面,它不能单独使用,相当于的属性标签。标示一个表格,标示这个表格中间的一个行。四、包含的关系不同一组标签内,中标签将建立一个单元格,标签必须放在标示行中的一个...

2020-03-14 23:35:42 2301

原创 类和对象

1.类的定义类是对具有相同属性和行为的一类客观事物的概括描述。是用户自定义的数据类型(程序设计语言角度)类的定义包括行为和属性两个部分。属性以数据表示,行为通过函数。C++类定义的格式在这里插入代码片...

2020-03-14 11:28:51 282

原创 指针和引用

内存地址和间接访问内存地址程序运行时,代码和需要的数据都被存储在内存中内存是有序的字节序列,每个字节都有唯一的地址,使用该地址可以确定字节的位置,用以存储和获取数据直接访问和间接访问通过变量的名字直接访问为程序中定义的变量分配的内存单元,存取变量的值使用变量的内存地址找到存放数据的单元,间接访问其中的内容指针指针的特点:指针持有一个对象的地址,称为指针“指向”该对象通过指针可以...

2020-03-08 21:38:19 194

原创 标准库类型string

标准库string类string 表示可变长度的字符序列字符串是对象string 类支持字符串对象的各种操作:1、各种初始化方式2、字符串之间的复制、比较、连接3、查询字符串长度和判断字符串是否为空4、访问字符串中的单个字符使用string 类要包含头文件初始化string对象的方式:1、string s1 //默认初始化,s1是一个空串2、 string s2(s1) /...

2020-03-08 19:34:51 119

原创 结构体和枚举

结构体结构体类型的声明格式如下:struct 类型名{数据类型1 成员名1;数据类型2 成员名2;…} ;struct 类型名{数据类型1 成员名1;数据类型2 成员名2;…} 变量名;结构体变量具有以下特点:(1)可以对结构体变量的整体进行操作。例如:swap(a[i],a[j])(2)可以对结构体变量的成员进行操作。引用结构体变量中成员的格式为:...

2020-03-02 17:28:06 128

原创 递归算法

程序直接或间接调用自身的编程技巧称为递归算法(Recursion)。直接或间接调用自身的函数称为递归函数它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归的关键在于找出递归定义和递归终止条件递归定义:使问题向边界条件转化的规则。递归定义必须能使问题越来越简单。递归终止条件:也就是所描述问题的最简单情况,它本身不再使用递归的定义。递归算法解题通常有三个步骤:...

2020-03-02 16:55:22 1653

原创 第 8章 排序技术

排序算法的稳定性假定在待排序的记录集中,存在多个具有相同键值的记录,若经过排序,这些记录的相对次序仍然保持不变,则称这种排序算法是稳定的;否则称为不稳定的。排序算法的性能时间复杂性:基本操作。内排序在排序过程中的基本操作:⑴比较:关键码之间的比较;⑵移动:记录从一个位置移动到另一个位置。空间复杂性: 辅助存储空间。辅助存储空间是指在数据规模一定的条件下,除了存放待排序记录占用的存储...

2019-12-21 12:02:06 216

原创 第7章 查找技术

列表:由同一类型的数据元素组成的集合。*关键码:*数据元素中的某个数据项,可以标识列表中的一个或一组数据元素。*键值:*关键码的值。*主关键码:*可以唯一地标识一个记录的关键码。*次关键码:*不能唯一地标识一个记录的关键码...

2019-12-01 11:20:08 116

原创 第6章 图

图的定义:图是由顶点的有穷非空集合和顶点之间的边组成,通常表示为:G=(V,E)其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。*在线性表中,元素的个数可以为零,称为空表在树中,结点个数可以为零,称为空树;在图中,顶点个数不能为零,但可以没有边。*简**单图:在图中,若不存在顶点到其自身的边,且同一条边不重复出现。邻接、依附无向图中,对于任意两个顶点vi和顶...

2019-12-01 11:05:19 230

原创 第5章 树和二叉树

树的遍历操作前序遍历若树为空,则空操作返回;否则执行以下操作:访问根节点;按照从左到右的顺序从左到右的顺序前序遍历根节点的每一颗子树。后序遍历若树为空,则空操作返回;否则执行以下操作:按照从左到右的顺序后序遍历根节点的每一颗子树访问根节点层序遍历从树的根节点开始,自上而下逐层遍历,在同一层中,按从左到右的顺序对节点逐个访问树的存储结构双亲表示法除根节点外,树中的每个节点有...

2019-11-03 17:16:44 159

原创 第4章 字符串和多维数组

字符串定义:n(n>=0)个字符组成的有限序列,串中所包含的字符个数称为串的长度,通常记作:S=“s1 s2 …sn”子串:字符串中任意个连续的字符组成的子序列主串:包含子串的串在C++语言的cstring头文件中包含求字符串的长度函数length、字符串复制函数copy、字符串比较函数compare以及字符串查找函数substr字符串是数据元素为单个字符的线性表,一般采用顺序存...

2019-11-03 14:32:35 124

原创 第3章 栈和队列

栈定义:限定仅在表的一端进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶,另一端称为栈底。栈的特性:后进先出(first in,last out)Operation:InitStack // 栈的初始化DestroyStack//栈的销毁Push//入栈GetTop//出栈Empty//判断栈是否为空顺序栈的实现const int StackSize=10;templ...

2019-10-30 20:39:35 82

原创 第2章 线性表

线性表是一种最基本、最简单的数据结构,用来描述数据元素之间单一的前驱和后继关系。在现实生活中有很多应用。 线性表可分为顺序表和链式表。 顺序表有参构造函数定义: template<typename T> SeqList<T>::SeqList(T a[],int n) { if(n>MaxSize) throw"参数非法...

2019-10-29 21:29:21 248

原创 有努力就有回报

有努力就有回报今天是开学后第二周的星期二,截止到今天我从外院转专业过来后已经在计算机专业已经连续上了一个多星期的课了。还记得第一次上计算机的专业课,老师讲的东西对我来说就像听天书一般。当时我就很后悔,为什么要转专业来计算机,而且转的专业是最难的一个专业。我当时就有一种回原学院的冲动,但这个冲动很快就被我消磨掉了。我不能回去,回去后这么丢...

2019-09-17 20:16:44 105

空空如也

空空如也

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

TA关注的人

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