![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计Java
Lonea^
这个作者很懒,什么都没留下…
展开
-
棋盘覆盖 java
package 棋盘覆盖;import java.util.Scanner;public class ChessBoardCoverage { // 定义棋盘的大小:2^k,需要的骨牌数是:(4^k-1)/3 private static int BOARD_SIZE = 64; // 定义一个二维数组用来模拟棋盘 private static int[][] board = new int[BOARD_SIZE][BOARD_SIZE]; // 定义一个全局变量,用来记录骨牌的编号 p原创 2021-11-02 17:19:37 · 111 阅读 · 0 评论 -
活动安排 java
package 活动安排;/*活动安排贪心算法就是要在所给的活动集合中选出最大的相容活动子集合思路就是根据结束时间选,先把他们的结束时间从大到小排序,然后从结束时间最小的开始算,然后下一个的开始时间大于等于前一个的结束时间就可以选择它,然后替换结束时间为当前的结束时间,依次循环。i 表示 第i个活动s[i] 表示 第i个活动的开始时间f[i] 表示 第i个活动的结束时间a[i] 是否选择安排第i个活动(true代表是,false代表否)*/public class GreedyS原创 2021-11-02 17:12:36 · 213 阅读 · 0 评论 -
快速排序 java
package 快速排序;public class QuickSort { public static void main(String[] args){ int[] arr = {10,7,2,4,7,62,3,4,2,1,8,9,19}; quickSort(arr, 0, arr.length-1); for (int i = 0; i < arr.length; i++) { System.out.pri原创 2021-11-02 17:16:07 · 97 阅读 · 0 评论 -
归并排序 java
归并排序归并排序是一种概念上最简单的排序算法,与快速排序一样,归并排序也是基于分治法的。归并排序将待排序的元素序列分成两个长度相等的子序列,为每一个子序列排序,然后再将他们合并成一个子序列。合并两个子序列的过程也就是两路归并。package 归并排序;public class MergeSort { public static void main(String[] args) { int[] arr = {11,44,23,67,88,65,34,48,9,12}; int[] tmp原创 2021-11-02 16:37:34 · 92 阅读 · 0 评论 -
活动安排 贪心算法 java
package 活动安排;/*活动安排贪心算法就是要在所给的活动集合中选出最大的相容活动子集合思路就是根据结束时间选,先把他们的结束时间从大到小排序,然后从结束时间最小的开始算,然后下一个的开始时间大于等于前一个的结束时间就可以选择它,然后替换结束时间为当前的结束时间,依次循环。i 表示 第i个活动s[i] 表示 第i个活动的开始时间f[i] 表示 第i个活动的结束时间a[i] 是否选择安排第i个活动(true代表是,false代表否)*/public class GreedyS原创 2021-10-27 17:23:46 · 676 阅读 · 0 评论 -
0-1背包问题 Java
0-1背包问题 Javapackage beiBao;/*0-1背包问题:给定n种物品和一个背包。物品i的重量是wi,其价值是vi,背包的容量为c。 * 问:哪些物品装入背包可使价值总和最大?最大是多少? * m(n,j)代表背包容量为j时,选择物品n时候的最优值 * m(i,j)代表背包容量为j时,选择物品从i,i+1,...n,时的最优解。 * 思路: * 价值:如果物品j的重量大于背包i重量,那么就舍弃,然后m[i][j] = m[i-1][j]; * 如果不大于呢,这个也有两个选原创 2021-10-25 17:53:12 · 162 阅读 · 0 评论 -
Java 最长公共子序列
最长公共子序package 最长公共子序列;import java.util.Scanner;public class Lcs { public static void LCSLength(int m,int n,char x[],char y[],int c[][],int b[][]){ int i ,j; for(i = 1;i <= m;i++){ c[i][0] = 0; } for(i = 1;i <= n;i++){ c[0][i] = 0;原创 2021-10-15 16:01:47 · 448 阅读 · 0 评论