分治算法
来源:互联网 发布:并行计算编程 编辑:程序博客网 时间:2024/06/02 23:51
全排列算法
private int count=0;public void perm(int[] list, int k, int m) {if (k == m) {for (int i = 0; i < list.length; i++) {System.out.print(list[i] + " ");}count++;System.out.println();} else {HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();for (int i = k; i <= m; i++) {if (!map.containsKey(list[i])) {map.put(list[i],i);swap(list, k, i);perm(list, k + 1, m);swap(list, k, i);}}}
二分搜索算法
public void binarySearch(int[] a,int start,int end,int key){if(start==end)if(a[start]==key)System.out.println(start);elseSystem.out.println("no");else{int mid=(start+end)/2;if(a[mid]==key)System.out.println(mid);else if(a[mid]>key)binarySearch(a, start, mid-1, key);elsebinarySearch(a, mid+1, end, key);}}
快速排序算法
public void qiuckSort(int[]a ,int start,int end){if(start<end){int p=partition(a,start,end);qiuckSort(a,start,p-1);qiuckSort(a,p+1,end);}}public int partition(int[]a,int start,int end){int x=a[start];int i=start;int j=end;while(i<j){while(a[j]>=x&&i<j){j--;}a[i]=a[j];while(a[i]<=x&&i<j){i++;}a[j]=a[i];}a[i]=x;return i;}
- 分治算法
- 分治算法
- 分治算法?
- 【算法】分治
- 【算法】分治
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- 分治算法
- MFC设计局域网对战五子棋游戏(四)GDI+和GDI混合双缓冲绘图
- Socket编程
- flex入门学习笔记
- solr3.6已发布
- win7如何不用点击用户名 直接自动登录桌面
- 分治算法
- SQLserver中用convert函数转换日期格式
- windows 7声卡麦克设置
- Oracle9i 如何连接到oms
- Linux内核和用户空间通信的方式— proc文件和mmap共享内存
- 关于一些url中传递参数有空格问题
- 几个开源的云平台
- myeclipse 10.0 激活心得
- map的三种遍历方法!