自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 01背包、完全背包、多重背包问题分析

背包问题可以用递归方法和动态规划方法,递归代码简洁,方便理解,不过由于重复计算,效率较低,DP方法将前面的计算结果保存到二维数组中,效率较高,值得推荐。 1. 01背包(ZeroOnePack): 有n件物品和一个容量为m的背包。(每种物品均只有一件)第i件物品的费用是weight[i],价值是value[i]。求解将哪些物品装入背包可使价值总和最大。 解题思路:对于每个物品只考虑两种情况(放

2016-08-29 10:02:11 905

转载 虚函数的工作原理

原文网址:点击打开链接 一、虚函数的工作原理       虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl

2016-08-28 10:52:47 565

转载 c++(重载、覆盖、隐藏)

原文链接:点击打开链接 成员函数的重载、覆盖与隐藏 成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚 概念,否则错误将防不胜防。 8.2.1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:

2016-08-28 09:58:07 465

转载 浅谈C++多态性

原文链接:点击打开链接 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。   多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。   C++多态性是通过虚函数来实

2016-08-28 09:56:44 439

转载 C++ STL priority_queue

原文网址:点击打开链接 priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queue Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。 Container 必须是用数组实现的容器,比如 vector, deque 但不能用 list. STL里面容器默认用的是 vector.

2016-08-27 10:28:07 499

原创 进程和线程的关系与区别

原文网址:点击打开链接 1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程

2016-08-27 09:44:06 493

转载 SQL表连接查询

原文链接:点击打开链接 SQL表连接查询(inner join、full join、left join、right join) SQL表连接查询(inner join、full join、left join、right join)   前提条件:假设有两个表,一个是学生表,一个是学生成绩表。            表的数据有:    

2016-08-25 20:55:19 1147

转载 多线程死锁的产生以及如何避免死锁

原文网址:点击打开链接 一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 下面我们通过一些实例来说明死锁现象。 先看生活中的一个实例,2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。

2016-08-25 20:28:39 8625

转载 C语言求最小公倍数和最大公约数三种算法

原文链接:点击打开链接 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c

2016-08-25 19:31:20 565

转载 动态规划解决最长公共子序列和最长公共子串

原文链接:点击打开链接 1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence, LCS),顾名思义,是指在所有的子序

2016-08-25 17:02:34 607

转载 设计模式之创建型模式

原文网址:点击打开链接 创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。 创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设

2016-08-20 15:00:16 467

转载 看懂UML类图和时序图

原文网址:http://gitlore.com/gitlore-git/shejimoshi/read_uml.html 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了;

2016-08-20 09:50:29 433

转载 UML建模之时序图(Sequence Diagram)教程

原文网址:http://www.cnblogs.com/langtianya/p/3825764.html 一、时序图      时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,较下级对象依次放在 右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。这样就提供了控制流随着时间推移的清晰的

2016-08-20 09:47:30 2456

空空如也

空空如也

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

TA关注的人

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