java 算法
文章平均质量分 81
kangojian
做游戏太苦逼了
展开
-
java算法之冒泡
大家一看到这个名字可能就已经猜到了它的工作方式了,这种排序方法是从最低部的元素开始进行比较,较小的元素将会像气泡一样往上冒,这样听起来很抽象,举个例子吧!比如我们要对一个包含了3个元素的数组按照升序进行排序,我们首先将会把第三个元素的值与第二个元素的值进行比较,如果第三个元素的值小于第二个数的值,则交换这两个元素的值,接下来,我们将第二个元素的值,再与第一个元素的值进行比较,同上面一样,如果发现原创 2009-01-28 10:03:00 · 1615 阅读 · 1 评论 -
分支限界法----旅行售货员问题
<br />一、问题描述<br />某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。<br /> 如下图:1,2,3,4 四个城市及其路线费用图,任意两个城市之间不一定都有路可达。<br /> <br />二、问题理解<br /> 1.分支限界法利用的是广度优先搜索和最优值策略。<br /> 2.利用二维数组保存图信息City_Graph[MAX_SIZE]转载 2011-05-25 10:28:00 · 3927 阅读 · 0 评论 -
回溯法 背包问题
<br />给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,背包问题是如何选择装入背包的物品,使得装入背包中物品的总价值最大?<br />贪心算法描述:<br />1.改变数组w和v的排列顺序,使其按单位重量价值v[i]/w[i]降序排列; <br /> 2.将数组x[n]初始化为0; //初始化向量 <br /> 3. i=1;<br /> 4.循环直到(w[i]>C);<br /> 4.1 x[i]=1;<br />原创 2011-05-25 10:26:00 · 1385 阅读 · 0 评论 -
自己的写简单的二叉树java
<br />public class twoTree {<br /> <br /> private static Node root;<br /> <br /> public class Node{<br /> private int data;<br /> private Node left;<br /> private Node right;<br /> public int getData() {<br /> return data;<br /> }<br /> public void原创 2011-05-24 11:00:00 · 837 阅读 · 0 评论 -
分支限界法(求最优装载)
<br />1. 分支搜索算法<br /> (1) 引入<br /> 用回溯算法解决问题时,是按照深度优先的策略在问题的状态空间中,尝试搜索可能的路径,不便于在搜索过程中对不同的解进行<br />比较,只能在搜索到所有解得情况下,才能通过比较确定哪个是最优解。这类问题更适合广度优先策略搜索,因为在扩展结点时,可以在<br />E-结点的各个子结点之间进行必要的比较,有选择的进行下一步扩展。这里的分支限界法就是一种较好的解决最优化问题的算法。<br /> 分支界限法是由"分支"策略原创 2011-05-25 10:07:00 · 4098 阅读 · 1 评论 -
A*寻路初探
<br />原文 http://blog.csdn.net/xie376450483/archive/2010/10/24/5962622.aspx<br /> <br /> <br />A*(念作A星)算法,它只是描述算法的原理,使你可以在进一步的阅读中理解其他相关的资料。<br />序:搜索区域<br />假设有人想从A点移动到一墙之隔的B点,如下图,绿色的是起点A,红色是终点B,蓝色方块是中间的墙。<br /><br />[图1]<br />你首先注意到,搜索区域被我们划分成了方形网格。像这样,简化搜原创 2011-02-09 14:43:00 · 660 阅读 · 0 评论 -
最短路径算法
<br />转载来源 http://www.embhelp.com/drew/algorithm/shortpath.htm<br /> <br /> Drew 在空闲时间凭兴趣帮朋友做了一个动态路径寻优的分析程序,其中用到了一些常用的最短路算法。 GIS地图演示程序 K条路径算法测试程序 <br /> 据 Drew 所知最短路经算法现在重要的应用有计算机网络路由算法,机器人探路,交通路线导航,人工智能,游戏设计等等。美国火星探测器核心的寻路算法就是采用的D*(D Star)算法。<转载 2010-08-04 10:20:00 · 7220 阅读 · 0 评论 -
java 哈夫曼树
算法定义 http://baike.baidu.com/view/127820.htm?func=retitle 不懂等待自我更新原创 2009-03-17 12:06:00 · 726 阅读 · 0 评论 -
java 合并排序算法
图形推演 http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergen.htm算法定义 http://baike.baidu.com/view/19000.htm public class MergeSortArray { private long[] theArray; private原创 2009-03-16 19:54:00 · 874 阅读 · 0 评论 -
java 二叉树算法(二)
In Java, the key points in the recursion are exactly the same as in C or C++. In fact, I created the Java solutions by just copying the C solutions, and then making the syntactic changes. The recursio原创 2009-03-14 16:07:00 · 1799 阅读 · 1 评论 -
Hash talbe 多重散列(Double Hashing)
Double hashingFrom Wikipedia, the free encyclopediaJump to: navigation, searchDouble hashing is a computer programming technique used in hash tables to resolve hash collisions, cases whe原创 2009-03-14 20:26:00 · 6165 阅读 · 0 评论 -
java 二叉树算法(一)
算法定义 http://baike.baidu.com/view/88806.htm 构造树如下:其中二叉树节点类/** 二叉树节点 */public class BTNode { private char key; private BTNode left, right; public BTNode(char key) { this(ke原创 2009-03-14 16:03:00 · 5074 阅读 · 0 评论 -
java插入排序算法
插入排序算法策略:排序值列中的前2个值,并在必要时交换它们。在相对于前2个值(有序的)的适当位置插入值列的第三个值。然后,在相对于前3个值(有序的)的适当位置插入值列的第4个值。每进行一次插入操作,有序子集中的数值个数将递增1。重复该过程,直至值列中的所有值都按照次序排列为止。插入过程需要移动数组中的其他值,为插入的元素腾出存储空间。 算法定义 http://baike.baidu.co原创 2009-01-28 10:44:00 · 1490 阅读 · 0 评论