- 浏览: 25555 次
- 性别:
- 来自: 上海
最新评论
-
adam_zs:
程序有问题、
贪心法和回溯法 求解“背包、0/1背包问题”——Java 实现 -
adam_zs:
结果错了....
贪心法和回溯法 求解“背包、0/1背包问题”——Java 实现 -
我们都有病:
你这个01背包不对吧???如果重量是 7 3 3 3 价 ...
贪心法和回溯法 求解“背包、0/1背包问题”——Java 实现
文章列表
在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。
回溯算法描述:
void Queue(int n)
{
for (i=1; i<=n; i++) //初始化
x[i]=0;
k=1;
while (k>=1)
{
x[k]=x[k]+1; //在下一 ...
给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,背包问题是如何选择装入背包的物品,使得装入背包中物品的总价值最大?
贪心算法描述:
1.改变数组w和v的排列顺序,使其按单位重量价值v[i]/w[i]降序排列;
2.将数组x[n]初始化为0; //初始化向量
3. i=1;
4.循环直到(w[i]>C);
4.1 x[i]=1;
4.2 C=C-w[i];
4.3 i++;
5. x[i]=C/w ...
给定由n个整数组成的序列(a1, a2, …, an),求该序列的子段和的最大值,当所有整数均为负整数时,其最大子段和为0。
LargestSubsegmentSum1.java //蛮力算法
import java.util.*;
public class LargestSubsegmentSum1
{
public stati ...
import java.util.Arrays;
public class User implements Comparable {
private String id;
private int age;
public User(String id, int age) {
this.id = id;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
pub ...
public class Banner {
private String string;
public Banner(String string){
this.string=string;
}
public void showWithParen(){
System.out.println("("+string+")");
}
public void showWithAster(){
System.out.println("*"+string+"*");
...
public class DiGuiAgri {
public void binary_to_ascii(int value) {
int quotient;
quotient = value / 10;
if( quotient != 0) {
binary_to_ascii( quotient);
}
System.out.println(value % 10);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto- ...
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
class CustomCL extends ClassLoader {
private String basedir; // 需要该类加载器直接加载的类文件的基目录
private HashSet dynaclazns; ...
public class CopyObject {
/**
* @param
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Professor p = new Professor("wangwu", 50);
Student s1 = new Student("zhangsan", 18, p);
Student s2 = (Student) s1.clone();
s2.p.name = & ...
import java.util.ArrayList;
/**
* 全排列算法
*
*/
public class Arrange {
private int total = 0;
private ArrayList<String> arrangeList = new ArrayList<String>();
public Arrange() {
}
private void swap(String list[], int k, int i) {
String c3 = list[k];
l ...
public abstract class NumberGenerator {
public Vector<Observer> observers = new Vector<Observer>();// 所有观察者信息将录入observers中
public void addObserver(Observer observer) {
observers.add(observer);
}
public void deleteObserver(Observer observer) {
observers.remove(observer);
...
public abstract class Shape {
public abstract void draw();
public abstract void erase();
public String name;
public Shape(String aName) {
name = aName;
}
}
public class Circle extends Shape {
@Override
public void draw() {
// TODO Auto-generated method stub
Syste ...
package com.strongit;
public class PaiXu {
private int[] data = {11,3,17,1,13,21,10,15,6,4};
public PaiXu() {
print();
//quickSort(data,0,data.length-1);
selectSort(data);
int pos = binSearch(data,0,data.length-1,13);
System.out.println("pos="+pos);
}
//快速 ...
package com.strongit;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.regex.Pattern;
public class Test {
private String[] data = { "1", "2", "2", "3", "4", " ...
package com.strongit;
import java.util.LinkedList;
import java.util.Queue;
/**
* H
* /
* D
* / \
* B G
* / \ /
* A C F
* /
* E
*
* @author Administrator
*
*/
public class ErChaShu {
...
package com.strongit;
/**
* 用数组实现约瑟夫出圈问题,n个人排成一圈,从第一个开始报数,报到m的人出圈,
剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,
求出所有的人出圈顺序
* @author Administrator
*
*/
public class TestLink {
private static final int m = 3; //
private static final int n = 6; // 人数
public TestLink() {
Node roo ...