- 博客(5)
- 收藏
- 关注
原创 设计模式之单例模式
单例模式 (DCL及volatile修饰的讲解) 单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下: Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。) 单例模式优点: 减少了内存开支,特别是一个对象需要频繁地创建,销毁时。 减少了性能开支,当一个对象的产生需要比较多的资源时,比如读取配置,产生其
2021-03-12 17:03:35 54
原创 算法设计与分析之---------动态规划篇
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
原创 算法设计与分析之---------选择第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
原创 算法设计与分析之---------排序篇
本篇列出了以下算法 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人