摘要:
提供通用的Makefile文件编写框架,可快速应用于实际的工程项目开发中。 阅读全文
摘要:
讲述了定时器模块的简要设计思路,尤其是构建了相关的数据结构。依据此思路,有助于快速实现相关模块的开发。 阅读全文
摘要:
一、设计类的方法 1. 确定类的功能和职责。需先只考虑外部对象如何使用这个对象以及如何与其他类交互,识别出基本的接口(使用高层次的抽象思维设计)。 2. 依据类的功能分析,确定出类的基本属性数据。 3. 在接口中调用隐藏的实现方法,构成一个粗粒度流程。且分析接口是否合理(是否有利于对象操作)。 4. 阅读全文
摘要:
设计软件系统的过程,实际上就是完成对现实世界系统的建模。而针对面向对象的开发,设计模式为其提供了最佳实践的指导原则,能有助于模型的实现。以下归纳出基本的模式类型及使用说明,便于开发人员实际应用。 类别 解释说明 模式名称 1、抽象工厂模式 2、构造器模式 3、工厂方法模式 4、原型模式 5、单例模式 阅读全文
摘要:
为使计算机求解几何问题,可采用计算几何学来实现高效的算法和数据结构。 1. 判断两向量是否平行 使用向量外积 2.判断两向量是否正交 使用向量内积 3. 判断线段相交 利用点线之间的位置关系 4. 点与圆的交点、圆与圆的交点、凸包问题 阅读全文
摘要:
一、求所有点对间最短路径 弗洛伊德算法: 假设以加权有向图G=(V, E)为对象,则该算法不需要G的所有边均非负,只要G不包含负环即可(所有边的权值之和为负的环)。同时可判断G中是否有负环(若算法执行完后,存在某顶点到其自身最短距离为负时,则表示有负环)。 二、拓扑排序 有向无环图DAG可用于表示各 阅读全文
摘要:
Disjoint Sets是一种用互质集合(一个元素不同时包含于多个集合的集合)对数据进行分类管理的数据结构。互质动态集合中的各个集合都是一个树结构,且每个树的根节点用于区分集合的代表元素,因此又可称该数据结构为森林结构。 三种操作: makeSet(x):创建仅包含元素x的新集合 findSet( 阅读全文
摘要:
一、图的类型 二、图的表示:G = (V, E) 1、邻接表 对V的每个顶点都用一个表来表示,每个表中包含所有与该顶点相邻的顶点组成,所有的表构成图的邻接表。 具体实现形式:每个表中的数据格式可为:顶点编号、顶点的度、依次列出与该顶点相邻的顶点编号。可用vector类型的数组来表示: vector< 阅读全文
摘要:
数据结构既包括各数据存储的方式和彼此间的关系结构,又含有“添加”、“取出”等对数据的操作,同时也带有取出和添加数据时的规则。如队列和栈就是以数据抵达的先后顺序来形成这一规则的,但优先级队列则是以数据内的键值作为基准来判断谁先被取出。 二叉搜索树(按照左子节点、父节点、右子节点的顺序将键值由小到大排序 阅读全文