算法设计与分析
令人羡慕的发量
这个作者很懒,什么都没留下…
展开
-
算法设计与分析之---------动态规划篇
1 找零钱问题 2 求最长公共序列 3 走方格 最短权值路径 4 上台阶 一次最多上一个台阶或者两个台阶 注: 以上全部都是没有使用备忘录的算法,需要不断的重复计算,备忘录算法后续会更新 找零钱问题 package demo0916; public class Exchange { public int countways(int[] penny, int n, int aim) { // write code here if (n == 0 || penny ==原创 2020-09-22 22:38:44 · 92 阅读 · 1 评论 -
算法设计与分析之---------回溯算法篇
1 0-1背包问题 (无分支界限算法) 2 八皇后 3 最优装载 (分支界限) 4 m图着色问题 0-1背包问题 (无分支界限算法) public class bag01 { int n = 5; int capacity = 10; int[] weight = {2,6,4,1,5}; double[] value = {6,9,6,1,4}; int maxValue = 0; int tempValue; int tempWeight;原创 2020-09-22 22:32:10 · 102 阅读 · 0 评论 -
算法设计与分析之---------选择第k大问题篇
选择第k大问题 1 锦标赛算法 2 选第k小的分治算法 3 选最大最小值 (分治算法) (BFPRT算法 对快速排序的改进,每次选取中位数) 锦标赛算法 public static int arraychampionship(int[] array){ int n=rebuildNum(array.length); int[] A=new int[2*n]; for (int i=n;i<2*n;i++){ if(i<n原创 2020-09-22 22:23:13 · 174 阅读 · 0 评论 -
算法设计与分析之---------排序篇
本篇列出了以下算法 1 二分查找 2 冒泡排序 3 插入排序 4 二路归并排序 5 快速排序 6 选择排序 二分查找 public static int arraybinarysearch(int[] array,int key){ int low =0,high=array.length-1,mid; while(low<=high){ mid=(low+high)/2; if(key==array[mid]){原创 2020-09-22 20:24:44 · 129 阅读 · 0 评论