`
cm14k
  • 浏览: 31415 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
文章列表
问题描述: 给定n个整数(可能为负数)组成的序列a1,a2,a3,...,an, 求该序列子段和的最大值 例如: X={-2, 11, -4, 13, -5, -2}, 其最大子段和为20 最大子段为:11,-4,13 解法一:穷举法 列举所有的可能,求其中的最大值 算法实现如下: /* * description: 最大子段和问题 * 问题描述:给定n个整数(可能为负数)组成的序列a1,a2,a3,...,an, * 求该序列子段和的最大值 * 解法一:穷举法,选取其中一个最大的值 * * auther: cm * date: 2010/11/19 ...
问题描述: 找出由n个数组成的序列的最长单调递增子序列 解法一: 原序列记为X,对n个数递增排序,构造一个新序列Y, 对X,Y求其最长公共子序列即可. /* * description: 最长单调递增子序列 * 问题描述: * 找出由n个数组成的序列的最长单调递增子序列 * 算法设计: * 解法一: * 原序列记为X,对n个数递增排序,构造一个新序列Y, 对X,Y求其最长公共子序列即可. * * auther:cm * date:2010/11/17 */ import java.util.LinkedList; import java.ut ...
一个给定序列的子序列是在该序列中删去若干元素后得到的序列。若给定序列X={x1, x2, ..., xm},则另一序列Z={z1, z2, ..., zk},X的子序列是指存在一个严格递增下标序列i, 使得对于所用的j=1, 2, 3,...,k有zj = xi. 例如:序列X={A, B, C, B, D, A, B}的一个子序列Z={B, C, D, A}。 给定两个序列X和Y, 当另一序列Z既是X的子序列又是Y的子序列,则称Z为X和Y的公共子序列。   最长公共子序列问题: 给定两个序列X={x1,x2,x3,...,xm}和Y={y1,y2,y3,...,yn},找出X和Y的最 ...
/* description: * * 动态规划算法之矩阵连乘问题 * 1)矩阵Ai*Ai+1*...*Aj简记为A[i:j],所需的最小计算次数为m[i][j]. * 2)当i=j时,m[i][j] = 0 * 3)当 i<j时,假设使m[i][j]最小的最优次序是在Ak和Ak+1之间断开, * 则m[i][j] = m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j],其中k的位置可以是:i, i+1, ..., j-1, * 数组p[]存储各个矩阵的维数,s[i][j]标记m[i][j]的断开位置k. * * auther: cm ...
递归法: int strlen(char *str) { if (*str != '\0') { return strlen(++str) + 1; } else { return 0; } }  
方法一: 用数组实现,把字符的ASCII码值作为数组的下标,对字符出现的次数不断累加.   实现对ASCII码128个字符出现次数的统计. //字符统计 public class CharacterTest { public static void main(String[] args) { if (args.length == 0) { System.out.println("参数错误!"); System.exit(1); } int[] character = new int[128]; //存放字符出现次数 ...

指向函数的指针

指向函数的指针是一个指针变量,它指向一个函数。一个函数名是一个指针,它指向函数的代码。函数的调用可以通过函数名,也可以通过指向该函数的指针。 指向函数的指针其定义的一般形式为: 类型名  (*指针变量名)(); 例如: int (*p)(int i, int j); p是一个指针,它指向一个函数,该函数有两个整型参数,返回类型为int .   注: int *p(int i, int j); 这是一个函数声明,返回类型为int型指针。   1、函数指针的简单使用: //函数指针的使用 #include <stdio.h> #define GET_MAX ...
二分搜索算法是运用分治策略的典型例子。 基本思想:将n个元素分成大致相同的两半,取a[n/2]与x进行比较。如果x==a[n/2],则找到,算法终止。如果a[n/2]>x,则只要在数组的左半部分继续搜索x.如果x>a[n/2],则只要在数组的右半部分继续搜索。   算法简单实现如下: //二分搜索法 public class BinarySearch { /* 采用二分搜索法在一个有序的数组中查找x元素 * 找到x时返回它在数组中位置,否则返回-1 * */ public static int binarySearch(int[] arr, i ...
// 二维数组动态扩展的简单实现(规则数组) // 使用System.arraycopy(from, fromIndex, to, toIndex, count)方法 public class DynamicArray { private static final int MAX = 4; public static void main(String[] args) { int[][] arr1 = new int[MAX][MAX]; //数组初始化 for (int i = 0; i < arr1.length; i++) ...
Prim算法Java朴素版 //Prim算法求最小生成树,使用Java语言的简单实现 // 图用邻接矩阵存储 import java.util.*; public class PrimMST { private static int MAX = Integer.MAX_VALUE; public static int prim(int graph[][], int n) { //最小权值和 int sumcost = 0; // lowcost[i]记录以i为终点的边的权值,当lowcost[i]=0时表示终点i加入生成树 int low ...
  说明:本文针对mysql-noinstall版本,也就是解压缩版在Windows下的基本配置   操作系统:     Windows XP MySQL版本: mysql-5.1.50-win32   1、下载MySQL解压包 mysql-noinstall-5.1.50-win32.zip     解压缩到某个目录。例如:D:\Java\mysql   2 ...
Global site tag (gtag.js) - Google Analytics