
算法
mingWar
这个作者很懒,什么都没留下…
展开
-
24点经典算法
1、概述 给定4个整数,其中每个数字只能使用一次;任意使用 + - * / ( ) ,构造出一个表达式,使得最终结果为24,这就是常见的算24点的游戏。这方面的程序很多,一般都是穷举求解。本文介绍一种典型的算24点的程序算法,并给出两个具体的算24点的程序:一个是面向过程的C实现,一个是面向对象的java实现。 2、基本原理 基本原理是穷举4个整数所有可能的表达式,然后对表达式求转载 2008-11-29 19:11:00 · 30584 阅读 · 9 评论 -
单源点最短路径
public class BBShortest { public static float[][] a={ {Float.MAX_VALUE, Float.MAX_VALUE, Float.MAX_VALUE, Float.MAX_VALUE, Float.MAX_VALUE, Float.MAX_VALUE},转载 2009-05-02 16:53:00 · 1196 阅读 · 0 评论 -
旅行售货员问题(c++)
目描述:某售货员要到若干个城市推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一遍最后回到驻地的路线,使总的路线(或总的旅费最小)。 问题分析:我们根据图的图生成了一棵2叉排列树,这样求最小路程就转换为如何解这棵空间树的问题。我们做过生成排列的题目如果我们穷举一遍,那么自然可以得到我们想要的解,但是这样时间复杂度O(n!),效率低得可怜,所以我们只有来优化他。转载 2009-05-02 00:07:00 · 7991 阅读 · 0 评论 -
书本整理
[题目描述] Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank 首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整齐。于是他决定从中拿掉k本书,使得书架可以看起来整齐一点。书架的不整齐度是这样定义的:每两本书宽度的差的绝对值的和。例如有4本书:1x25x32x43x1那么Frank转载 2009-11-06 16:56:00 · 964 阅读 · 0 评论 -
最长不下降子序列
问题描述:给出n个数,求出其最长不下降子序列的长度,比如n=5,5个数是{4,6,5,7,3};其最长下降子序列就是{4,6,7},长度为3。一、简单的O(n^2)的算法 很容易想到用动态规划做。设lis[]用于保存第1~i元素元素中最长不下降序列的长度,则lis[i]=max(lis[j])+1,且num[i]>num[j],i>j。然后在lis[]中找到最大的一个值,时原创 2010-01-01 23:05:00 · 996 阅读 · 0 评论