- 博客(17)
- 收藏
- 关注
原创 mysql常见SQL语句
#创建语句create table student( no tinyint(2) primary key, stuNo int(10) not null, stuName varchar(32), stuClass varchar(32));#增加字段alter table student add score int(10);#修改字段alter table student modify scor...
2018-06-20 11:26:47
168
1
原创 最长公共子序列问题(LCS)
在使用动态规划算法来求解最长公共子序列时,二维数组c[i][j]用于记录序列Xi和Yj的最长公共子序列的长度,二维数组b[i][j]用于记录长度是由哪一个子问题的解得到的,对于序列X = {A, C, B, C, D, A, B, D}和Y = {A, B, D, C, A, B, A},绘制对应的c[i][j],b[i][j]。代码:package cn.aaa;
2016-05-02 09:31:07
634
原创 矩阵连乘问题的java实现
代码如下:public class matrixChain {static int m[][],s[][];//p[]记录矩阵A1,A2,A3,....,An;m[][]记录每次计算之后的最少次数及最优值;s[][]记录最佳断点位置。 public static void matrixChain(int p[],int m[][],int s[][]) {int n =
2016-04-15 00:42:07
4504
原创 求一个上三角矩阵中每一条斜线中的最大元素(L)和最小元素(S)。
代码如下:package cn.aaa;/* * 2016/4/9 */public class MaxMultiply { public static void MaxMultiply(int a[][],int row,int col) {int i = row; //矩阵的行数int j = col; //矩阵的列数 for (int k
2016-04-10 01:18:10
1896
原创 快速排序算法
快速排序算法是基于分治策略的另一种排序算法。(1)分解:以a[p]为基准元素将a[p,q]划分为3段a[p,k-1],a[k],a[k+1,q],使得a[p,k-1]中任何元素小于等于a[k],a[k+1,q]中任何元素大于等于a[k]。(2)递归求解:通过递归调用快速排序算法,分别对三部分进行排序。过程如下:package cn.aaa;/* * 2016/4/6
2016-04-06 23:22:34
708
原创 伪币识别问题
伪币识别问题。一个袋子中装有256枚金币,其中有一枚是伪币,且已知伪币比真的金币要轻。现在给你一架天平,如何快速找出那枚伪币?使用分治策略来对该问题进行求解,设计并实现相应的分治算法。思路:采用二分法,将一个金币分为A、B两部分,分别计算A、B部分的质量和,因为金币为偶数个且伪币比金币要轻,所以,其中一部分的质量和总比另一部分的质量和小,此时再将质量和小的部分进行二分,递归继续下去。当只剩下两
2016-04-04 17:08:44
2542
原创 归并排序
归并排序采用了递归与分治策略,将数组先进行分解,分解为一个一个小的序列,当序列只包含一个元素时(此时小序列一定是有序的),递归地进行合并有序数列。简而言之,先划分在合并。比如:数据序列[1,3,5,9,7,11,19,16,6]划分子序列如下:合并有序序列:比如两个有序序列进行合并时,只要比较两个序列的第一个元素,谁小就先取那个元素,然后删除这个元素,比较下一个。当两个序列
2016-04-04 15:17:38
666
原创 棋盘问题
用分治策略,设计出解棋盘覆盖问题的方法。在一个2k *2k的矩阵中,可以分割为4个2k-1 *2k-1子棋盘,如(a)所示,特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,如 (b)所示,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘1×1。
2016-04-02 23:45:25
471
原创 二分搜索
使用递归算法实现二分搜索。【输入:一个一维整型数组和一个待查询的值;输出:待查询值所在的位置,如果没有找到,则返回-1。】二分搜索算法运用的是分治策略。分治法的基本思想:讲一个规模为N的问题分解为一个规模较小的子问题,这些子问题相互独立且与原问题相同。注意:二分搜索时,数组是排好序的!package cn.aaa;import java.util.Scanner;
2016-04-01 22:50:48
679
原创 Hanoi塔问题
设a,b,c是3个塔。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,3,...,n,如图2-1所示。现要求将塔座a上的这一叠圆盘移到塔座b上,并按照同样顺序重叠。在移动圆盘时应该遵守以下移动规则。规则(1):每次只能移动1个圆盘;规则(2):任何时刻都不允许将较大的圆盘压在较小的圆盘之上;规则(3):在满足移动规则(1)和规则(2
2016-04-01 21:55:26
876
原创 整数划分问题
将正整数n表示成一系列正整数之和,n=n1+n2+n3+...+nk,其中n1>=n2>=...>=nk>=1,k>=1。正整数n的这种表示称为正整数n的划分。正整数n的不同的划分个数称为正整数n的划分树,记作p(n)。算法思路:在正整数n的所有不同的划分中,将最大加数n1不大于m的划分个数记作q(n,m)。递归式为:q(n,m)=1
2016-04-01 21:36:16
590
原创 排列问题
算法思想过程:集合R,r1,r2,r3,...,rn为集合R的元素。当元素n为1个时,perm(R)=(r),其中r为集合R中唯一的元素;当n>1时,perm(R)由(r1)perm(R1),(r2)perm(R2),...,(rn)perm(Rn)组成。package cn.aaa;public class perm { //排序函数public static voi
2016-03-31 23:42:37
432
原创 java接口
通过学习发现,有时自己定义的方法就可以调用,感觉不需要使用接口,但是有的时候并不是只有一个类实现这个接口,可能是很多类要去实现类里面的功能,而接口并没有定义方法的处理方式,就使得比较灵活,也使得代码更加规范
2016-02-28 17:07:34
404
原创 hdu2002
计算球体积Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 114356 Accepted Submission(s): 46628Problem Description根据输入的半径值,计算球的体积
2015-11-08 01:00:13
424
原创 hdu2000 ASCII码排序
ASCII码排序Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 119657 Accepted Submission(s): 49607Problem Description输入三个字符后,按各字符的A
2015-11-07 18:17:39
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人