easylearn-算法
MARS用了8年
没什么好说的 学习 谦虚 努力 哎呦 不错哦
展开
-
EasyLearn--JAVA实现32个经典算法设计(一):A*算法
A*算法是一种静态路网中求解最短路径最有效的直接搜索方法,其中经典的图形有网格图像如下:根据这个图像来对算法进行说明主要思想:该算法又称为启发式算法,启发之处在于公式F=G+H,F为最终结果值,G为所行走的步数,H就是预估值,其中H可根据不同的策略采用不同的规则定义,此处使用无视障碍物的最短距离最为预估剩余步数,依次算出起始格周围的最终结果F值,然后取最小值最为下一步要前进的网格,最终找到...原创 2018-11-25 21:12:40 · 939 阅读 · 0 评论 -
EasyLearn--JAVA实现32个经典算法设计(二):集束算法
集束算法的理解上相对来说还是比较简单的,该算法不是求解最优解而是尽可能的靠近最优解的算法。当集束层级达到12层以上每个子节点不超过5个时,节点数最高可达到了30W个节点左右,而需要从此得出最优解可能用穷尽法来算尽节点数也未尝是“最优”了。这边推荐比较好去理解此算法的两篇博客。集束搜索1 集束搜索2下面具体用代码来说明吧!看集束算法上有分别使用图和树的模型来演示算法规则,此处只实现...原创 2018-11-25 21:55:08 · 751 阅读 · 0 评论 -
EasyLearn--JAVA实现32个经典算法设计(三):二分查找算法
二分查找算法又称折半查找,其核心思想是在已知有序的一维数组中查找某一个值在该数组的位置。存在两种实现方式:第一是使用函数递归的形式,第二种是使用循环体结构求解/** * 二分查找算法又称折半查找,其核心思想是在已知有序的一维数组中查找某一个值在该数组的位置 * 有两种实现方式:第一是使用函数递归的形式,第二种是使用循环体结构求解 */public class BinarySearc...原创 2018-11-25 22:15:35 · 395 阅读 · 0 评论 -
EasyLearn--JAVA实现32个经典算法设计(四):分支定界法-旅行商(TSP)问题
分支定界法开始看的时候还是很难能通俗易懂地描述出该算法的规则和界限。顾名思义就是按名字来划分,分支可看作一个二叉树,而定界就可理解为对上述二叉树的一种约束。具体可以参考该连接的描述:只需要看两张图片即可,如何将图转化为一颗树还有另外一种用法是:一个箱子可装10斤重的货物,其中有三件分别中4 8 5斤可不拆分的货物,请问最多可装几斤的问题。等等可用此算法的应用。鄙人实现的是TSP问题,模...原创 2018-12-03 21:25:17 · 2381 阅读 · 1 评论