摘要: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。 阅读全文
posted @ 2013-03-18 15:27 byfei 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 简介在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;深度为k的二叉树至多有2^(k) -1个结点;对任何一棵二叉树T,如果其终端结点数(即叶子结点数)为n0,度为2的结点数为n2,则n0 =n2 + 1。编辑本段辨析尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形。树和二叉树的2个主要差别:1. 阅读全文
posted @ 2013-03-18 14:57 byfei 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 转载地址http://www.cnblogs.com/wangguchangqing/archive/2012/09/09/2677701.html 阅读全文
posted @ 2013-03-18 14:50 byfei 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 3.1关系模型的基本概念关系模型:用称为关系的二维表来表示数据,其数据模型就称为关系模型。二维表的行称为元组,列以属性开头,对于每个属性,都有元组的一个分量与之对应。(例如P39图3.1)3.1.1属性:属性就是关系的标题栏中各列的名字,描述了该列各数据项的含义。3.1.2模式:关系的名称和关系的属性集称为关系的模式。例:student(StudentNo,StudentName,Age,Dept)3.1.3元组:除了关系的标题栏外,其他各行统称为“元组”。元组和对象的联系和区别:可以认为一个元组就表示一个对象,而元组所属的关系就表示对象所属的类。对象具有同一性,而元组没有。3.1.4域:关系 阅读全文
posted @ 2013-03-18 14:22 byfei 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: 解释:程序运行时,取一条指令,将其换化为机器指令, 再执行这条机器指令。编译:程序运行时之前,将程序的把有代码编译为机器代码,再运行这个程序。 阅读全文
posted @ 2013-03-18 13:55 byfei 阅读(230) 评论(0) 推荐(0) 编辑
摘要: E-R模型的结构E-R模型的构成成分是实体集、属性和联系集,其表示方法如下:(1) 实体集用矩形框表示,矩形框内写上实体名。(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。因此,E-R模型也称为E-R图。例如系、学生和课程的联系的E-R模型系、学生和课程作为实体集;一个系有多个学生,而一个学生仅属于一个系,所以系和学生之间是一对多的联系;一个学生可以选修多门课程,而一门课程有多个学生选修,所以学 阅读全文
posted @ 2013-03-18 13:47 byfei 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 结构型模式涉及到如何组合类和对象以获得更大的结构。结构型模式采用继承机制来组合接口或实现。结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。 阅读全文
posted @ 2013-03-18 11:50 byfei 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 在实际开发过程中,我们经常遇到这样的事情,我们根据初步的需求制定了一个基类,在开发过程中才了解到详细的需求或者需求发生了变动。而开发工作中的接口早已经定义完毕,并已经大规模投入编码。此时若改动接口的定义会造成很多编码上重复性的修改工作,并进而有可能造成修改不完全而导致的语义错误或逻辑错误。语义错误尚可以在编译阶段发现,而一旦发生逻辑性的错误,后果将会非常严重,甚至足以导致系统崩溃。此时就需要用到适配器模式的设计方法。在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一 阅读全文
posted @ 2013-03-18 11:47 byfei 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 消息通信的基本方式有两种:1、同步方式两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的。发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备。发送程序首先向接收程序发起一个请求,称之为发送消息,发送程序紧接着就会堵塞当前自身的进程,不与其他应用进行任何的通信以及交互,等待接收程序的响应,待发送消息得到接收程序的返回消息之后会继续向下运行,进行下一步的业务处理。2、异步方式两个通信应用之间可以不用同时在线等待,任何一方只需各自处理自己的业务,比如发送方发送消息以后不用登录接收方的响应,可以接着处理其他的任务。也就是说发送方和接收方都是相互独立存在的,发送方只管方 阅读全文
posted @ 2013-03-18 11:41 byfei 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 除了限制访问,访问方式也决定哪个方法将被子类调用或哪个属性将被子类访问.函数调用与函数本身的关联,以及成员访问与变量内存地址间的关系,称为绑定. 在计算机语言中有两种主要的绑定方式,静态绑定和动态绑定. 静态绑定发生于数据结构和数据结构间,程序执行之前. 静态绑定发生于编译期, 因此不能利用任何运行期的信息. 它针对函数调用与函数的主体,或变量与内存中的区块.. 动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息. 在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围. 阅读全文
posted @ 2013-03-18 11:30 byfei 阅读(241) 评论(0) 推荐(0) 编辑
摘要: ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次:1、质量特性2、质量子特性3、度量指标ISO/IEC9126软件质量模型,由6个特性,27个子特性组成6个特性: 功能性 可靠性 易用性 效率 维护性 可移植性↓ ↓ ↓ ↓ ↓ ↓27个子特性: 适合性 成熟性 易理解性 时间特性 易分析性 适应性准确性 容错性 易学性 资源利用性 易改变性 易安装性互操作性 易恢复性 易操作性 --- 稳定性 共存性保密安全性 -- 吸引性 --- 易测试性 易替换性功能性的 可靠性的 易用性的 效率 维护性的 可移植性的依从性 依从性 依从性 依从性 依从性 依从性适合性:软件 阅读全文
posted @ 2013-03-18 11:22 byfei 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至 阅读全文
posted @ 2013-03-18 11:14 byfei 阅读(661) 评论(0) 推荐(0) 编辑