第 13 页 - 知识库
工厂方法模式

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类适用性当一个类不知道它所必须创建的对象的类的时候当一个类希望由它的子类来指定它所创建的对象的时候当类将创建对象的职责委托给多个帮忙子类的中的某一...

抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类“工厂”是创建产品(对象)的地方,其目的是将产品的创建与产品的使用分离。抽象工厂模式的目的,是将若干抽象产品的接口与不同主题产品的具体实现分离开。这样就能在增加新的具体...

单例模式

保证一个类仅有一个实例,并提供一个访问它的全局访问点。让类自身负责保存它的唯一实例,并提供一个访问该实例的方法。这就是单例模式适用性当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时当这个唯一实例应该是通过子类化可扩展的,并...

怎样选择设计模式

考虑设计模式是怎样设计问题的、浏览模式的意图部分、研究模式怎样互相关联、研究目的相似的模式、检查重新设计的原因、考虑你的设计中哪些是可变的

主要设计模式

创建型单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点抽象工厂(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口工厂方法(FactoryMethod):定义一个用于创建对...

如何理解框架

框架是构成一类特定软件可复用设计的一组相互协作的类。框架规定了应用的体系结构。定义了整体结构,类和对象的分隔,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特...

什么是设计模式

每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动模式要素:模式名称、问题、解决方案、效果

有效的算法设计

贪心法。Dijkstra的最短路径(时间复杂度O(n2));Prim求最小生成树邻接表存储时是O(n+e),图O(n2);关键路径及关键活动的求法。回溯法分支限界法分治法。分割、求解、合并。二分查找、归并排序、快速排序。动态规划。Fl...

外部排序

生成合并段(run):读入文件的部分记录到内存->在内存中进行内部排序->将排好序的这些记录写入外存,形成合并段->再读入该文件的下面的记录,往复进行,直至文件中的记录全部形成合并段为止。外部合并:将上一阶段生成的合...

内部排序

内部排序:全部数据可同时放入内存进行的排序。外部排序:文件中数据太多,无法全部调入内存进行的排序。插入类:直接插入排序。最坏情况是数据递减序,数据比较和移动量最大,达到O(n2),最好是数据是递增序,比较和移动最少为O(n)。趟数是固...

哈希表

在记录的存储地址和它的关键字之间建立一个确定的对应关系;这样不经过比较,一次存取就能得到元素。哈希函数——在记录的关键字与记录的存储位置之间建立的一种对应关系。是从关键字空间到存储位置空间的一种映象。哈希表——应用哈希函数,由记录的关...

B_树的B+树

B_树B-树就是B树。m阶B_树满足或空,或为满足下列性质的m叉树:树中每个结点最多有m棵子树根结点在不是叶子时,至少有两棵子树除根外,所有非终端结点至少有⎡m/2⎤棵子树有s个子树的非叶结点具有n=s-1个关键字,结点的信息组...

查找

顺序查找、折半查找、索引查找、分块查找是静态查找,动态查找有二叉排序树查找,最优二叉树查找,键树查找,哈希表查找静态查找表顺序表的顺序查找:应用范围:顺序表或线性链表表示的表,表内元素之间无序。查找过程:从表的一端开始逐个进行记录的关...

有向无环图及其应用

拓扑排序。在用邻接表表示图时,对有n个顶点和e条弧的有向图而言时间复杂度为O(n+e)。一个有向图能被拓扑排序的充要条件就是它是一个有向无环图。拓扑序列唯一不能唯一确定有向图。AOV网(ActivityOnVertex):用顶点表...

双连通图和关节点

若从一个连通图中删去任何一个顶点及其相关联的边,它仍为一个连通图的话,则该连通图被称为重(双)连通图。若连通图中的某个顶点和其相关联的边被删去之后,该连通图被分割成两个或两个以上的连通分量,则称此顶点为关节点。没有关节点的连通图为双连...

生成树和最小生成树

每次遍历一个连通图将图的边分成遍历所经过的边和没有经过的边两部分,将遍历经过的边同图的顶点构成一个子图,该子图称为生成树。因此有DFS生成树和BFS生成树。生成树是连通图的极小子图,有n个顶点的连通图的生成树必定有n-1条边,在生成树...

图的存储形式

1.邻接矩阵和加权邻接矩阵无权有向图:出度:i行之和;入度:j列之和。无权无向图:i结点的度:i行或i列之和。加权邻接矩阵:相连为w,不相连为∞2.邻接表用顶点数组表、边(弧)表表示该有向图或无向图顶点数组表:用数组存放所...

无向图回路或环:第一个顶点和最后一个顶点相同的路径。简单回路或简单环:除第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路连通:顶点v至v’之间有路径存在连通图:无向图图G的任意两点之间都是连通的,则称G是连通图。连通分量:...

图遍历与回溯

图搜索->形成搜索树穷举法。贪心法。多步决策,每步选择使得构成一个问题的可能解,同时满足目标函数。回溯法。根据题意,选取度量标准,然后将可能的选择方法按度量标准所要求顺序排好,每次处理一个量,得到该意义下的最优解的分解处理。

哈弗曼树/霍夫曼树

一些概念路径:从一个祖先结点到子孙结点之间的分支构成这两个结点间的路径;路径长度:路径上的分支数目称为路径长度;树的路径长度:从根到每个结点的路径长度之和。结点的权:根据应用的需要可以给树的结点赋权值;结点的带权路径长度:从根到该结点...

树和二叉树

一种非线性结构。树是递归结构,在树的定义中又用到了树的概念。基本术语:树结点:包含一个数据元素及若干指向子树的分支;孩子结点:结点的子树的根称为该结点的孩子;双亲结点:B结点是A结点的孩子,则A结点是B结点的双亲;兄弟结点:同一双亲的...

数组和广义表

数组和广义表可看成是一种特殊的线性表,其特殊在于:表中的元素本身也是一种线性表。内存连续。根据下标在O(1)时间读/写任何元素。二维数组,多维数组,广义表、树、图都属于非线性结构数组数组的顺序存储:行优先顺序;列优先顺序。数组中的任...

什么是串?

串(String)是零个或多个字符组成的有限序列。长度为零的串称为空串(EmptyString),它不包含任何字符。通常将仅由一个或多个空格组成的串称为空白串(BlankString)注意:空串和空白串的不同,例如“”和“”分...

什么是栈和队列?

栈栈(Stack)是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。先进后出。top=-1时为空栈,top=0只能说明栈中只有一个元素,并且元素进栈时top应该自增顺...

什么是线性表?

线性表是一种典型的线性结构。头结点无前驱有一个后继,尾节点无后继有一个前驱。链表只能顺序查找,定位一个元素的时间为O(N),删除一个元素的时间为O(1)线性表的顺序存储结构:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。...

惪特博客
  • 文章总数:
    18370 篇
  • 评论总数:
    52659 条
  • 标签总数:
    8691 个
  • 总浏览量:
    16365735 次
  • 最后更新:
    4天前

最多点赞

随便看看

标签TAG