- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 Golang二叉查找树
为简单起见,键值均为整型。定义接口(tree.go):type Tree interface { Put(k, v int) //新增或修改 Get(k int) int //查询 Delete(k int) //删除 Size() int //树的大小 Min() int //最小键 DeleteMin() //删除最小键}二叉查找树(
2016-03-07 20:44:50 1027
原创 算法代码实现之二分法查找,C/C++实现
封装成函数://二分法查找//数组a是升序的,len为数组长度//k为待查找的整数//如果查到有就返回对应角标,//没有就返回-1int search(int *a,int len, int k){ int lo = 0, hi = len - 1; while (lo <= hi) { int m = (lo + hi) >> 1;
2016-03-03 18:52:58 1828
原创 算法代码实现之二分法查找,Java实现
封装成类:package com.roc.algorithms.search;/** * 二分法查找 * * @author roc */public class BinarySearch { /** * @param a 升序排列的数组 * @param k 待查找的整数 * @return 如果查到有就返回对应角标,没有就返回-1
2016-03-03 18:46:39 2472
原创 算法代码实现之二分法查找,Golang(Go语言)实现
封装成函数://二分法查找//切片s是升序的//k为待查找的整数//如果查到有就返回对应角标,//没有就返回-1func BinarySearch(s []int, k int) int { lo, hi := 0, len(s)-1 for lo hi { m := (lo + hi) >> 1 if s[m] k { lo = m + 1 } else if s[m]
2016-03-03 18:40:02 2743
原创 算法代码实现之选出第k小元素、中位数、最小的k个元素(线性复杂度),C/C++实现
封装成函数:#include void swap(int *a,int i,int j){ int t = a[i]; a[i] = a[j]; a[j] = t;}int partition(int *a,int lo,int hi){ int i,j; i=lo; j=hi+1; while(1) {
2016-03-03 12:39:33 1143
原创 算法代码实现之选出第k小元素、中位数、最小的k个元素(线性复杂度),Java实现
封装成类:package com.roc.algorithms.common;import java.util.Arrays;/** * 选出第k小元素、中位数、最小的k个元素(线性复杂度) * * @author roc */public class Select { //选出第k小元素,k为1~a.length public static int se
2016-03-03 12:14:49 3008
原创 算法代码实现之选出第k小元素、中位数、最小的k个元素(线性复杂度),Golang(Go语言)实现
封装成函数://选出第k小元素,k为1~len(s)func SelectKthMin(s []int, k int) int { k-- lo, hi := 0, len(s)-1 for { j := partition(s, lo, hi) if j k { lo = j + 1 } else if j > k { hi = j - 1 } else { r
2016-03-02 21:25:48 1300
原创 算法代码实现之堆排序,C/C++实现
封装成函数://交换数组元素void swap(int *a,int i,int j){ int t = a[i]; a[i] = a[j]; a[j] = t;}//下沉(由上至下的堆有序化)void sink(int *a,int k,int N){ while (1) { int i = 2 * k; i
2016-03-01 21:03:58 903
原创 算法代码实现之堆排序,Java实现
封装成类:package com.roc.algorithms.sort;/** * 堆排序 * a[0]不用,实际元素从角标1开始 * 父节点元素大于子节点元素 * 左子节点角标为2*k * 右子节点角标为2*k+1 * 父节点角标为k/2 * * @author roc */public class HeapSort { public static voi
2016-03-01 20:52:25 555
原创 算法代码实现之堆排序,Golang(Go语言)实现
封装成函数://堆排序//s[0]不用,实际元素从角标1开始//父节点元素大于子节点元素//左子节点角标为2*k//右子节点角标为2*k+1//父节点角标为k/2func HeapSort(s []int) { N := len(s) - 1 //s[0]不用,实际元素数量和最后一个元素的角标都为N //构造堆 //如果给两个已构造好的堆添加一个共同父节点, //将新添加的节点作一次下
2016-03-01 20:41:33 2332 2
搭建Spring4+Spring MVC web工程的最佳实践 源码.zip
2015-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人