- 浏览: 202198 次
- 性别:
- 来自: 上海
最新评论
-
NIghtmare28:
太好用了, 谢谢
Create Local Cloudera Parcels Repo to Save Your ASS -
oyxccyj:
你好,请问下你如上的问题解决了吗?我现在也遇到同样的问题,网上 ...
Homework - HBase Shell, Java Client and MapReduce Job -
20131007:
用java描述算法?
基础数据结构和算法二:Selection sort -
ender35:
第二种实现仅能用于数组排序
计数排序(Counting Sort) -
fy616508150:
我想知道有括号参加运算怎么办
算24算法实现
文章列表
递归实现背包问题-Java
- 博客分类:
- Algorithm
Java递归实现背包问题:
问题描述:
有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可 使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路: 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则 其状态转移方程便是:f[v]=max{f[v],f[v-c]+w}。
实现代码:
/**
* @author Sun Kui
*/
public class Knapsack {
publ ...
递归求一个数的乘方代码:
仅仅是示例而已,实际应用中应该使用Java类库方法。
/**
* calculate power of a number recursively.
* @author Sun Kui
*/
public class Power {
private static int count = 1;
public static void main(String... args) {
if (args.length < 2) {
System.out.println("u ...
归并排序是一种相当稳健的排序算法,无论何种输入序列,其期望时间复杂度和最坏时间复杂度都是O(nlogn), 这已经达到了基于比较排序算法的渐进下界。因此归并排序时常会用于对可能导致quicksort退化的序列排序。
归并排序是典型的分治算法,常见的实现如下:
private void merge(int[] arr, int lowerPtr, int upperPtr, int upperBound) {
if (result.length < arr.length) {
throw new RuntimeException ...
v模式选中,然后按[Shift+,或.],就是输入大于号小于号,大于号向右缩进;
或者到行首在输入=G,即:在Normal模式中,输入:gg=G
下面两个程序是scheme写的计算阶乘的递归和尾递归实现线性递归:
(define (factorial n)
(if (=n 1)
1
(* n (factorial (- n 1)))))
尾递归:
(define (factorial n)
(fact-iter 1 1 n))
(define (fact-iter product counter max-count)
(if (> counter max-count)
product
(fact-iter (* ...
原文链接:http://fu.fltacn.com/403/
要点:发音要准,连读自然,语调恰当,重音清晰,语速不慢
昨天下午在轻轨三号线上遇到了一个和傅老师以前一样“刻苦”学英语的人,看上去他有50多岁的样子,好多白发了,手捧一本蓝皮的,看上去像是“内部讲义”装订版的《出国人员听力强化教材》,从中山公园站一直读到石龙路站,不过呢虽然他读得很卖力,每个单词都读得清清楚楚,但是听上去并不连贯,也不好听,因此傅老师今天想谈一下如何让自己的英语发音变得好听。
首先要说的是,英式发音和美式发音是有很大差异的,除却二者的发音上的区别外(也有外教称之为口音差别,不过一般中国人理解其差异为发 ...
Chapter3, 共享对象
编写正确的并发程序的关键在于对共享的,可变的状态进行访问管理。可以使用同步来避免多个线程在同一时间访问同一数据,也可以使用构建技术来安全的共享和发布对象,使多个线程可以安全的访问它 ...
第三遍阅读 Java Concurrency in Practice时,终于意识到要写一些读书笔记。所谓温故而知新,那就从现在开始!
Chapter 2: 线程安全
线程安全性的定义:一个类在被多个线程访问时,可以持续进行正确的行为,这里的正确性指的是 ...
1、 概述
给定4个整数,其中每个数字只能使用一次;任意使用 + - * / ( ) ,构造出一个表达式,使得最终结果为24,这就是常见的算24点的游戏。这方面的程序很多,一般都是穷举求解。本文介绍一种典型的算24点的程 ...
原文可见:http://www.cnblogs.com/zhangqqqf/archive/2008/09/12/1289730.html
C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。
许多教科书都把计算机阶乘和菲波那契数列用来说明递归,非常不幸我们可爱的著名的老潭老师的《C语言程序设计》一书中就是从阶乘的计算开始的函数递归。导
致读过这本经书的同学们,看到阶乘计算第一个想法就是递归。但是在阶乘的计算里,递归并没有提供任何优越之处。在菲波那契数列中,它的效率更是低的非常恐
怖。
这里有一个简单 ...
原帖可见:http://www.iteye.com/topic/570744,问题大致如下:
国王招来100个囚犯,对他们说:你们犯的是死罪,本应该将你们统统杀掉,但我慈悲为怀,给你们一次求生的机会。15分钟以后,你们将被关进一个有100间隔离牢房的监狱里,每人一间牢房,都与外界隔绝,什么也听不见、看不到,连时间都没法计算,更别说获得外界的任何信息。(送饭除外,但也是不规律的送)
这所监狱有一个院子,每天会随机(注意是完全随机)打开一间牢房的门,让那个囚犯到院子里来放风。院子里有一盏路灯,放风的囚犯可以控制它的开关,将它打开或是关闭。除囚犯之外,其他人都不会去碰开关。这盏灯会永远有充 ...
我打赌当你见到Base64这个词的时候你会觉得在哪里见过,因为在你能够上网看到这篇文章的时候你已经在后台使用它了。如果您对二进制数有所了解,你就可以开始读它了。
打开一封Email,查看其原始信息(您可以通过收取、导出该邮件用文本编辑器查看)。你会看到类似这样的一个效果: Date: Thu, 25 Dec 2003 06:33:07 +0800 From: "eSX?!" <snaix@yeah.net'>snaix@yeah.net'>snaix@yeah.net'>snaix@yeah.net> Reply-To: snaix@y ...
James Gosling:Java之父
作为Java之父,James Gosling的名字可谓是耳熟能详。当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上。Java做为中国的编程语言学习者餐桌上有限的那么几样餐点中的流行款式,自然是让JamesGo ...
XML-RPC 是一种比 SOAP 更早的、简单的轻量级 Web 服务技术,是 XML Web 服务的鼻祖。它是一个用于远程过程调用(remote procedure call,RPC)的简单规范,这种调用使用 HTTP 作为传输协议,并使用 XML 词汇表作为消息有效负载。由于 XML-RPC 非常简单(整个规范打印出来还不到十页纸)。
XML-RPC 数据类型
XML-RPC 标签 描述
< string > 字符的一个序列
< int > ...
- 2009-11-02 20:33
- 浏览 1106
- 评论(0)
最近有项目需要用PHP,于是利用业余的时间学习PHP,语法没什么问题,实战中马上卡壳了,遇到了和MySQL的连接问题。总结如下:
1、和PHP4不同,PHP5中MySQL不再是内置支持的数据库了,安装的PHP的时候需要在php.in ...
- 2009-09-15 21:20
- 浏览 2569
- 评论(0)