zw7534313的博客 -凯发k8国际

`
文章列表
  负载均衡算法   据目前的知识水平,并行可以分为数据并行与任务并行。数据并行是将数据分发,按块或者不同的流在每个进程或者每个线程中进行处理,这种并行对数据的独立性要求比较明显。任务并行则是将一个任务� ...
package cn.arith.zuiyou; public class heapsort {  /**堆排序是稳定log(n)复杂度的算法。 堆排序需要维护的堆的性质要满足:1.是一棵二叉树,而且是完全二叉树(除了最后一层都是满的,最后一层先把左边填满)2.如果是最大堆,要保证父节点的值大于两个子节点的值。(最小堆同理) 二叉树的数据结构是用数组来表示的,完全二叉树的性质有 父节点坐标*2 = 左儿子坐标,父节点坐标*2 1 = 右儿子坐标。 流程:1.建立一个最大堆,让数组满足堆的性质。2.每次取出堆顶的最大值,放到堆尾,并将堆的大小减去1,直到剩下一个元素不用排序为止。 ...
/** * 组合算法: * 递归 * m个物体取n个的组合(m>=n,n>1) * 根据前2个数相邻,或者相隔v个数组合n个数 */public class zh {  int arr[]=new int[]{2,3,6,5,4};//长度为5的数组取3个组合共5*4*3/3/2=10种(没有排列) int n=3;//n>=2 int m=arr.length; public static void main(string[] args) {   zh z=new zh();    z.combothersame(0,0);//间隔0  z.combothersame( ...
import java.util.arraylist;import java.util.list; /** * 组合算法: 01转换法 * 求从数组a[1..n]中任选m个元素的所有组合(无重复) *  * 所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。 * 组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。 * 解决组合问题的通用算法不外乎递归和回溯(就是穷举法)两种。 * */public class combination {  int arr[]=new int[]{1,3,5,7,4,}; int n=3; int m=arr.length;  i ...
  /** * 快速排序:是对冒泡排序的改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小, * 然后再按此方法对这两部分数据分别进行快速排序,整个 ...
/** * 最优组合之背包算法 * *价值:6,3,5,4,6 *重量:2,2,6,5,4 *载重10 *求最大价值? */class knapsack {  public static void main(string[] args) {    int max=10;//载重  int min=1;  int[] jz=new int[]{6,3,5,5,6 };//对应的价值  int[] zl=new int[]{2,2,6,5,4};//对应的重量  int value[] =new int[max 1];//最大价值(value[max]值最大,value数组从小到大排序)  in ...
global site tag (gtag.js) - google analytics
网站地图