算法

树的遍历之先序遍历二叉树

树的遍历之先序遍历二叉树1.遍历简介:树作为非线性数据结构,在我们取出数据时就需要设计遍历,所谓遍历,就是按照一定的规则性,将数据结构中的所有数据全部依次访问,而二叉树本身并不具有天然的全局次序,故为实现遍历,需通过在各节点……

算法基础

算法基础1.算法的特性1)输入输出算法具有零个或者多个输入,同时,算法具有至少一个的输出。对于在屏幕上打印”HelloWorld”一样,你可以不需要有任何的输入,直接输出得到结果即可,……

图论矩阵树定理实例讲解

图论矩阵树定理实例讲解矩阵树定理也称Matrix-Tree定理或Kirchhoff定理。这个定理提供了一种方式使用一个特殊的矩阵的行列式来计算一个图的生成树的数量。对于一个无向图来说,我们可以构造它的Laplace矩阵L,……

状态压缩DP图文实例讲解(一)

状态压缩DP图文实例讲解(一)动态规划算法的过程是随着阶段的增长,在每个状态维度上的分界点组成了DP拓展的轮廓。对于某些问题,我们需要在动态规划的状态中记录一个集合,保存这个轮廓的详细信息,以便于进行状态转移。若集合大小不超过N,……

后缀自动机(单词的有向无环图)简介

后缀自动机(单词的有向无环图)简介在我们学习后缀自动机之前,一定要先了解什么是自动机?自动机(确定有限状态自动机)是由一个非空有限状态的集合Q、一个输入字母表Σ(非空有限字符的集合)、一个转移函数(单值映射)、一个开始状态……

桶排序算法C/C++代码图文讲解

桶排序算法C/C++代码图文讲解桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定,这篇文章就带大家认识一下桶排序。一、桶排序桶排序(Bucketsort)或所谓的箱排序,是一个排序算法,工作的……

最小生成树,普利姆(Prim)算法及C/C++代码实现

最小生成树,普利姆(Prim)算法及C/C++代码实现1.最小生成树(又名:最小权重生成树)概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。最小生成树属于一种树形结构(树形结构是一种特殊的图),或者说是直链型……

C++STL之multiset与multimap容器

C++STL之multiset与multimap容器1.MultisetMultiset是set集合容器的一种,其拥有set的全部内容,在此基础之上,multiset还具备了可以重复保存元素的功能,因此会有略微和set的差别。Multise容器在执行i……

DP优化(三)四边形不等式优化实例讲解

DP优化(三)四边形不等式优化实例讲解有一种DP可以写成四边形不等式,那么可以用一个优化来优化这种DP(一般是二维的,不加优化是O(n3))。如果a≤b≤c≤d,那么如果DP式子满足f(a,c)+f(b,d)≤f(……

高精度计算的应用

高精度计算的应用什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从……