摘要: 原创 今天来说说最小生成树问题,我们知道最小生成树有两种求法,一种是prim算法,另一种是kruskal算法,关于两种算法的定义以及证明,请查看相关资料,这里不多说,理解起来也相当容易,我们来看一个问题描述: 很明显,这就是求最小生成树,并计算其最小权值和的问题,我们不妨将边定义成结构体,如下代码: 阅读全文
posted @ 2017-03-05 15:23 小小范同学 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 【原创】 利用并查集解决这样一个问题, 这个问题可以利用一个并查集合并来解决,在数组Tree[]中Tree[x]保存了x号节点的父亲节点,那么通过这样的若Tree[x]中的值为-1,则说明x为根节点,其实这个问题类似的可以看成查找连通分量,也就是说一个集合就是一个联通分量;看代码: 阅读全文
posted @ 2017-03-05 11:29 小小范同学 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 【原创】 最大子矩阵,也就是在一个矩阵中找一个子矩阵,使其和最大,至于所采用的思想便是求数组的最大子序列,比如1,2,-1,-1,3,这个数组的最大和就是本身为4;再比如1,2,-1,-3,4,这个数组额度最大子序列为4,即最后一个数,那么在矩阵中通过将各行相加,并找出相加后的数组的最大子序列和,便 阅读全文
posted @ 2017-03-05 10:16 小小范同学 阅读(703) 评论(0) 推荐(0) 编辑