归并排序
来源:互联网 发布:arp通过ip获取mac 编辑:程序博客网 时间:2024/06/05 23:41
public void mergeSort(int[] arr, int low, int high) {int mid = (low+high) / 2;if(low<high) {mergeSort(arr, low, mid);mergeSort(arr, mid+1, high);merge(arr, low, mid, high);}}private void merge(int[] arr, int low, int mid, int high) {int[] tmp = new int[high - low + 1];int i = low; int j = mid + 1; int k = 0; while (i<=mid && j<= high){ if(arr[i]<arr[j]){ tmp[k++] = arr[i++]; } else { tmp[k++] = arr[j++]; } } while (i<=mid) { tmp[k++] = arr[i++]; } while (j<= high) { tmp[k++] = arr[j++]; } for(int m =0 ; m< tmp.length; m++){ arr[m+low] = tmp[m]; }}
描述:说白了就是把一个N的问题不断分解最后变成一个二叉树,然后从二叉树底层向上递归。每一层都时间都是n,层高为lgn所以时间复杂度为O(nlogn)
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- controller 使用的时候,ng-app 必须有名字
- mysql快捷键
- Unix timestamp时间 与 普通时间 转换方法
- button 文字靠左 内容偏移
- HTTP长连接与短连接
- 归并排序
- hadoop的应用场景分析
- Android客户端与服务器之间传递json数据
- unity camera随机点拍摄并能缓动跟随目标
- Oracle EBS R12 WIP Component Issue&Return Process
- 模态框的的实现
- VMware下配置Linux IP,解决Linux 和主机互ping问题
- 三种数据库的分页
- 如何用 Retrofit 2 在安卓上实现 HTTP 访问?