自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Will_Lee_Buaa的专栏

致力于开源软件的发展

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 基本类型 long 的一些使用陷阱

在java 中byte 占用一个字节,shot 占用两个字节,char 使用的是unicode编码,占用两个字节,int 占用四个字节,long 占用八个字节在使用long 的时候,有个地方一定要注意,java 虚拟机默认把程序里出现的常量数字当做是int型。因此,如果想定义一个大于2^31(2147483648)的整数时,如果直接使用long var = 数字常量(数字常量大于等于2^3

2015-10-08 02:01:06 8538 1

原创 可以进行原地排序的计数排序

如题,算法导论上给出的计数排序需要额外申请O(n)的空间来存储排好序的结果。在算法导论(第二版)8-2思考题中,提出能否只需要O(k)的空间复杂度,对计数排序进行修改,实现原地排序。下面给出原计数排序的伪代码T *counting_sort(T a[],int n,int k){int *c=new int[k+1];T *b=new T[n];int i;

2013-11-27 13:40:57 1938

原创 linux下安装openssl和调用openssl接口(经过本人测试)

linux下安装openssl和调用openssl接口下面以ubuntu为例:第一步:安装openssl软件,sudo apt-get install openssl(其他linux操作系统,有相应的软件安装命令)第二步:安装openssl库,sudo apt-get install libssl-dev 完成这两步就可以在控制台使用openssl命令和在程序里调用openssl提

2013-10-20 18:15:35 5432

原创 找出具有n个元素的集合中最大的两个元素,要求比较次数尽可能少(三种算法的思考)

题目:给定具有n个元素的集合,找出最大的两个元素,算法要求比较次数尽可能少这个题目要做出来很简单,但是要找出比较次数尽可能少的算法也不是件容易的事情。对于这个题目,目前有三种方法比较流行。第一种:对集合扫描两遍(当然也可以扫描一遍,同时最大和第二大元素,但花费的比较次数和扫描两遍,在最坏情况下是一样的),第一遍找出最大的元素,第二遍从剩余的元素中找出最大的元素,即整个集合的第二

2013-10-20 16:35:34 7181 1

原创 排序0-n^k-1范围内的n个数,要求时间复杂度为线性

题目:给定n个范围在0-n^k-1范围内的整数,找出一种排序算法使得在O(n)的时间内将这n个数排序思路:根据决策树模型,比较排序的时间下线为nlgn,所以不可能指望比较排序算法了。我们已知的可以在线性时间内完成排序的算法有计数排序、基数排序和桶排序。根据题目要求,我们要想在O(n)时间内完成排序,只有使用计数排序、基数排序或者桶排序了。(当然如果比较牛逼,可以自己发明一种线性排序算法

2013-10-20 15:51:59 1996 1

转载 序数关系计数问题

序关系计数问题问题描述:用关系“A=B=C,A=BB=C将n 个数(1 设n个数可列出的关系式的个数为g(n), 下面我们设法总结规律找出g(n)的递推关系:对于一个关系式@a1@a2@a3....@an其中@表示 a1=a2=a3...=akak+1@...@an根据组合定义,从n个对象中选出k个组成关系式 a1=a2=a3...=ak,相当于

2013-01-23 21:34:47 941

原创 最少硬币问题

问题描述:设有n 种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。编程任务:对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins,以及钱数m,0≤m≤20001,编程计算找钱m的最少硬币数。

2013-01-23 19:23:36 2369

原创 独立任务最优调度问题

问题描述:用2 台处理机A 和B 处理n 个作业。设第i 个作业交给机器A 处理时需要时间ai,若由机器B 来处理,则需要时间bi 。由于各作业的特点和机器的性能关系,很可能对于某些i,有ai>=bi ,而对于某些j,j≠i,有aj设计一个动态规划算法,使得这2 台机器处理完这n个作业的时间最短(从任何一台机器开工到最后一台机器停工的总时间)。研究一个实例:(a1,a2,a3,a4

2013-01-22 22:53:49 2415 1

原创 最大间隙问题

问题描述:最大间隙问题:给定n 个实数x1, x2 ,..., xn,求这n 个数在实轴上相邻2 个数之间的最大差值。假设对任何实数的下取整函数耗O(1),设计解最大间隙问题的线性时间算法。编程任务:对于给定的n 个实数x1,x2,...,xn,编程计算它们的最大间隙。数据输入:输入数据由文件名为input.txt的文本文件提供。文件的第1 行有1 个正整数n。接下来的

2013-01-22 20:20:00 5036

原创 金币阵列问题

问题描述:有m x n (m(1)每次可将任一行金币翻过来放在原来的位置上;(2)每次可任选2 列,交换这2 列金币的位置。编程任务:给定金币阵列的初始状态和目标状态,编程计算按金币游戏规则,将金币阵列从初始状态变换到目标状态所需的最少变换次数。数据输入:    由文件input.txt给出输入数据。文件中有多组数据。文件的第1行有1 个正整数k,表示有k

2013-01-22 19:28:58 5491 10

原创 字典序问题

问题描述:在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。例如,a,b,ab,bc,xyz 等字符串都是升序字符串。现在对字母表A 产生的所有长度不超过6 的升序字符串按照字典序排列并编码如下。

2013-01-21 22:36:16 1927 1

原创 字符串扩展距离问题

问题描述:对于长度相同的2 个字符串A和B,其距离定义为相应位置字符距离之和。2 个非空格字符的距离是它们的ASCII码之差的绝对值。空格与空格的距离为0;空格与其它字符的距离为一定值k。在一般情况下,字符串A和B的长度不一定相同。字符串A的扩展是在A中插入若干空格字符所产生的字符串。在字符串A 和B 的所有长度相同的扩展中,有一对距离最小的扩展,该距离称为字符串A和B的扩展距离。对于给定的字

2013-01-21 20:18:53 5673

转载 样本收集问题

转自:http://blog.csdn.net/zhizichina/article/details/7024015机器人Rob在一个有n*n 个方格的方形区域F 中收集样本。(i,j)方格中样本的价值为v(i,j),如下图所示 Rob 从方形区域F 的左上角A点出发,向下或向右行走,直到右下角的B 点,在走过的路上,收集方格中的样本。Rob 从A点到B 点共走2次

2013-01-21 18:28:27 2186

原创 最少购物费用问题

问题描述:商店中每种商品都有标价。例如,一朵花的价格是2元。一个花瓶的价格是5 元。为了吸引顾客,商店提供了一组优惠商品价。优惠商品是把一种或多种商品分成一组,并降价销售。例如,3朵花的价格不是6元而是5元。2 个花瓶加1 朵花的优惠价是10 元。试设计一个算法,计算出某一顾客所购商品应付的最少费用。编程任务:对于给定欲购商品的价格和数量,以及优惠商品价,编程计算所购商品应付的最少

2013-01-19 21:16:14 6846 1

原创 最多约数问题答案解析与勘误

问题描述: 正整数x的约数是能整除x的正整数。正整数x 的约数个数记为div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间约数个数最多的数x。 编程任务: 对于给定的2个正整数a≤b,编程计算a 和 b 之间约数个数最多的数。 数据输入: 输入数据由文件名为input.txt的文本文件提供。文件的

2013-01-17 16:22:42 2626 3

原创 统计数字问题

统计数字问题问题描述:一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,…,9。编程任务:给定表示书的总页码的10 进制整数n (1≤n≤109) 。编程计算书的全部页码

2012-12-24 22:18:10 1900

原创 圈乘运算问题

圈乘运算问题问题描述关于十进制整数的2元圈乘运算@定义如下:十进制数x,y,x@y=sum_x*max_y+min_y,sum_x等于x的各位数字之和,max_y为y的各位数字中的最大数字,min_y为y的各位数字中的最小数字。例如19@30=10*3+0=30。给定十进制整数X和K,由X、圈乘运算符@和小括号可以组成多种表达式,如X@X,X@X@X,X@(X@X),规定@运算符是左结合的

2012-12-22 23:45:27 8534 3

算法导论答案

算法导论答案,算法导论这本书是一部非常经典的算法书籍,每一个从事IT行业的人都应该去读一读。

2012-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除