摘要:
先定义图类: class MGraph { int verxs;// 表示图的节点个数 char[] data;// 存放节点数据 int[][] weight;// 存放边,就是我们的邻接矩阵 public MGraph(int verxs) { this.verxs = verxs; data 阅读全文
posted @ 2021-06-08 16:47
shanaprprpr
阅读(62)
评论(0)
推荐(0)
摘要:
本算法需要预先定义边的个数,顶点数组和邻接矩阵。 首先是构造器,来初始化边,数组,邻接矩阵。 public KruskalCase(char[] vertexs, int[][] matrix) { this.vertexs = vertexs; this.matrix = matrix; int 阅读全文
posted @ 2021-06-08 16:43
shanaprprpr
阅读(63)
评论(0)
推荐(0)
摘要:
本算法旨在找出最先匹配字符串。 先定义的方法为计算待匹配字符串的最长相等的前缀与后缀: public static int[] kmpNext(String dest) { int[] next = new int[dest.length()]; next[0] = 0; for(int i = 1 阅读全文
posted @ 2021-06-08 16:33
shanaprprpr
阅读(59)
评论(0)
推荐(0)
摘要:
完成这个算法,需要预先定义如下几个变量:棋盘的行列数,棋盘是否已被访问过,是否所有位置都被访问。 首先需要设置一个算法确定当前可走的位置: /** * 根据当前位置计算马还能走哪些位置,并放入到一个集合中 * * @param curPoint * @return 该集合 */ public sta 阅读全文
posted @ 2021-06-08 16:27
shanaprprpr
阅读(117)
评论(0)
推荐(0)
摘要:
本算法采用广播电台覆盖区域来做演示,设置五个电台集合,存放可以覆盖的区域,再设置一个总集合,存放所有的区域,然后只要未全覆盖,则每次都选择能包括最多未覆盖区域的电台,这就是一个最优解。代码如下: public static void main(String[] args) { HashMap<Str 阅读全文
posted @ 2021-06-08 16:07
shanaprprpr
阅读(42)
评论(0)
推荐(0)
摘要:
主类: public class FloydAlgorithm { public static void main(String[] args) { char[] vertex = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' }; int[][] matrix = new 阅读全文
posted @ 2021-06-08 09:13
shanaprprpr
阅读(52)
评论(0)
推荐(0)
摘要:
主类: public class DijkstraAlgorithm { public static void main(String[] args) { char[] vertex = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' }; int[][] matrix = 阅读全文
posted @ 2021-06-08 09:04
shanaprprpr
阅读(55)
评论(0)
推荐(0)
摘要:
主函数依旧省略,直接贴实现的代码。 /** * * @param num 有几个盘 * @param a,b,c 盘所在位置 */ public static void hanoiTower(int num, char a, char b, char c) { if (num == 1) {//只剩 阅读全文
posted @ 2021-06-08 08:52
shanaprprpr
阅读(47)
评论(0)
推荐(0)
摘要:
本算法用来进行二分查找的非递归实现 /** * 二分查找的非递归实现 * * @param arr 带查找的数组 * @param target 需要查找的数 * @return 返回对应下标,-1表示没有找到 */ public static int binarySearch(int[] arr, 阅读全文
posted @ 2021-06-08 08:42
shanaprprpr
阅读(72)
评论(0)
推荐(0)

浙公网安备 33010602011771号