#include struct CMaxSum { int lowIndex; int highIndex; &nbs…
分类:算法
排序--希尔排序
shellSort 又称为增量排序,间隔gap的位置组成的数组都各自排好序,再gap越来越小直到1,排好整个数组。 public static <AnyType extends Comparable<? su…
快速排序算法
x参考值,左右两边开始扫,左找出>=x的第一个值,右边找出第一个<= x的值,进行交换。交换后,右边区间值都满足大于X,左边的值都满足小于X。 class Quicksort { static void qs…
Bubble sort
public class Bubble { public static void main(String args []) { int nums[]={99, -10, 100123, 18, -978, 5623, 4…
排序--插入排序
插入排序的基本思想,假设数组前面位置的元素已经排序好,新插入一个元素a[p], 由a[p]与前面a[p-1]比较,若a[p] public static <AnyType extends Comparable<…
排序--堆排序
/** *heapsort */ private static int leftChild(int i) { return 2 * i +1; } private static <AnyType extends C…
递归算法改进---fibonaci 函数
采用一个表代替递归 /** *Compute Fibonaci numbers * f(0)=1, f(1)=1 * f(n)= f(n-1)+ f(n-2); *程序效率低下,运行时间也是T(N) 成指数级增长 */ …
递归算法改进---表存储代替冗余递推
/**求解递归关系 *Sum=C(0)+C(1)+...+C(N-1); 即求和运算 *C(N)=(2/N) Sum +N **/ public static double eval( int n) { if (n ==…
实际快速排序 -分割策略
快速排序,枢纽元(比较值)理论上选哪个都可以。实际快速排序包括划分策略 和递归调用。 public static <AnyType extends Comparable<? super AnyType>…
输出从矩阵左上角到右下角的所有路径
一、问题描述 一个m×n的矩阵,只能从矩阵内部向右或向下走,输出从矩阵左上角到右下角的所有路径。 下图即为从1到6的所有路径 1 2 3 4 5 6 二、解题思路 1、数学解法求路径数 (1)使用排列组合。因为只能向右走…
快速选择
选择第K个最大(小)元 private static <AnyType extends Comparable<? super AnyType>> void quickSelect(AnyType …
学习OpenCV
因为一些项目需要,最近在学习OpenCv,以下是一些学习OpenCv这本书的一些简介,教程下载地址:《学习OpenCv》 《学习OpenCV》:计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计…