
算法
蠢蠢的菜鸟
这个作者很懒,什么都没留下…
展开
-
根据分支限界思想,使用java实现最大团问题
public class BiggestTuan { private int bound = 0; public int getBound() { return bound; } public void biggerstTuan(boolean table[][], int k, int total, int n){ //到达叶节点 if (k == n){ if (total > bound)原创 2020-12-30 20:34:13 · 274 阅读 · 0 评论 -
Java实现dijkstra算法
Java实现dijkstra算法import java.util.ArrayList;import java.util.List;/** * dijkstra算法思想: * S集合表示已取得最短路径的点,V-S表示没取得最短路径的点 * 1. 初始 S={0} * 2. 对于i∈V− S,计算1到 i 的相对 S的最短路,长度 dist [i] * 3. 选择V− S中 dist 值最小的 j,将 j加入 S,修改V− S中顶点的dist 值. * 4. 继续上述过程,直到 S=V为止.原创 2020-12-23 10:00:10 · 593 阅读 · 0 评论 -
java实现prim算法,详细注释
用java实现prim算法,详细的注释import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * Prim算法的思想是任取途中一个顶点i作为起始点,并将其加入到S集合中。从V-S(V表示所有顶点)的集合中 * 选取一条到S集合的顶点最短的边。例如S集合中有(1,2)两个顶点,V-S集合中有(4,5,6)三个顶点,那么 * 取(1,4) (1,5) (1,6) (2,4) (2,5) (2,6)这原创 2020-12-22 22:40:36 · 1217 阅读 · 0 评论 -
有重复元素的排列问题
1.问题描述:设R={r1,r2,…,rn}是要进行排列的n个元素,其中r1,r2,…,rn可能相同。设计一个算法,列出R的所有不同排列2.算法思想:利用分治思想,可将R的不同排列,分成r1与r2,r3,…,rn的组合,r2,r3,…,rn的排列又可分成r2与r3,…,rn的组合,以此类推。设R1={r1} R2={r2,…,rn},R1与R2的组合有两种,即R1R2或者R2R1。packag...原创 2019-03-13 12:56:16 · 2010 阅读 · 0 评论