摘要: 为使计算机求解几何问题,可采用计算几何学来实现高效的算法和数据结构。 1. 判断两向量是否平行 使用向量外积 2.判断两向量是否正交 使用向量内积 3. 判断线段相交 利用点线之间的位置关系 4. 点与圆的交点、圆与圆的交点、凸包问题 阅读全文
posted @ 2017-10-28 22:15 zmlgo 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 一、求所有点对间最短路径 弗洛伊德算法: 假设以加权有向图G=(V, E)为对象,则该算法不需要G的所有边均非负,只要G不包含负环即可(所有边的权值之和为负的环)。同时可判断G中是否有负环(若算法执行完后,存在某顶点到其自身最短距离为负时,则表示有负环)。 二、拓扑排序 有向无环图DAG可用于表示各 阅读全文
posted @ 2017-10-28 21:51 zmlgo 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Disjoint Sets是一种用互质集合(一个元素不同时包含于多个集合的集合)对数据进行分类管理的数据结构。互质动态集合中的各个集合都是一个树结构,且每个树的根节点用于区分集合的代表元素,因此又可称该数据结构为森林结构。 三种操作: makeSet(x):创建仅包含元素x的新集合 findSet( 阅读全文
posted @ 2017-10-28 21:19 zmlgo 阅读(226) 评论(0) 推荐(0) 编辑