摘要: 最小生成树算法 Kruskal+并查集 O(ElogE) 阅读全文
posted @ 2018-08-27 21:23 Rogn 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 一、最小生成树 在无向图中,连通且不含圈的图称为树(Tree)。给定无向图G=(V,E),连接G中所有点,且边集是E的子集的树称为G的生成树(Spanning Tree),而权值最小的生成树称为最小生成树(Minning Spanning Tree,MST)。 二、Kruskal 步骤: 1、将所有 阅读全文
posted @ 2018-08-27 19:41 Rogn 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 介绍: 是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。 Floyd-Warshall算法的时间复杂度是O(N3),空间复杂度O(N2)。 原理: Floyd-Warshall算法的原理是动态规划。 用fk(i,j 阅读全文
posted @ 2018-08-25 23:41 Rogn 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 单源最短路 Dijkstra + 邻接矩阵 O(V2 + E) Dijkstra + STL priority_queue + 链式前向星 O((V + E)lgV) Dijkstra + STL priority_queue + 邻接表 O((V + E)lgV) Bellman-Ford O(V 阅读全文
posted @ 2018-08-25 22:10 Rogn 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 一、Bellman-Ford Bellman-Ford 算法是一种用于计算带权有向图中单源最短路径(当然也可以是无向图)。与Dijkstra相比的优点是,也适合存在负权的图。 若存在最短路(不含负环时),可用Bellman-Ford求出,若最短路不存在时,Bellman-Ford只能用来判断是否存在 阅读全文
posted @ 2018-08-25 18:11 Rogn 阅读(5433) 评论(1) 推荐(5) 编辑
摘要: 一、介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他各个节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 适用于有向图和无向图,但不能有边权为负的情况。 二、基本思想 通过Dijkstra计算图G中的最短路径时,需 阅读全文
posted @ 2018-08-22 11:50 Rogn 阅读(1446) 评论(3) 推荐(0) 编辑
摘要: 一、题目, 输入一个树状数组,根据力矩相等原则判断是否平衡。采用递归方式输入(先序):每个天平的格式为Wl, Dl ,Wr ,Dr,当Wl或Wr为0时, 表示该“砝码”实际是一个子天平,接下来会描述这个子天平。 当Wl = Wr = 0时,会先描述左子天平,再描述右子天平。 二、解题思路 题目的输入 阅读全文
posted @ 2018-08-20 12:41 Rogn 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 一、二叉树的定义 二叉树(Binary Tree)的递归定义:二叉树要么为空,要么由根节点(root)、左子树(left subtree)和右子树(right subtree)组成,而左子书和右子树分别是一颗二叉树。注意,在计算机中,树一般是"倒置"的,即根在上,叶子在下。 二、二叉树的层次遍历 三 阅读全文
posted @ 2018-08-20 12:05 Rogn 阅读(2227) 评论(0) 推荐(0) 编辑
摘要: 一、一次同余式的概念 通常,我们把含有未知数的同余式叫做同余式方程。 一类形式最简单的同余方程是一次同余方程,一般形式为ax≡b(mod n),其中n为正整数,a,b为整数且a不为0. 二、一次同余方程的解的情况 1、是否有解 2、有多少解 3、有解的情况下如何描述解 1º 先讨论特殊情况,即(a, 阅读全文
posted @ 2018-08-18 21:10 Rogn 阅读(4047) 评论(0) 推荐(0) 编辑
摘要: 一、有关剩余类 定义1:从模n的每个剩余类中各取一个代表元,得到一个由n个数组成的集合,叫做模n的一个剩余类。 定义2:用φ(n)表示从1,2,...,n中与n互素的整数的个数。 定义3:从模n的每个互素剩余类中各取一个代表元,得到一个由φ(n)个元素组成的集合,叫做模n的简化剩余类。 定理1:设n 阅读全文
posted @ 2018-08-17 11:35 Rogn 阅读(877) 评论(0) 推荐(0) 编辑