算法
文章平均质量分 56
jiliqiang1986
这个作者很懒,什么都没留下…
展开
-
【坐在马桶上看算法】算法6:只有五行的Floyd最短路算法
2014-03-25 09:47:22标签:超简单Floyd最短路算法 Floyd最短路 超简单Floyd算法C语言实现 暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。 上图中有4个城市8条公路,公路转载 2016-11-03 20:04:55 · 610 阅读 · 0 评论 -
【坐在马桶上看算法】算法7:Dijkstra最短路算法
2014-04-01 09:17:52标签:超简单Dijkstra实现 Dijkstra最短路算法C语言实现 上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。转载 2016-11-03 20:05:44 · 368 阅读 · 0 评论 -
动态规划(解公司外包成本问题)
基础算法系列总结:动态规划(解公司外包成本问题)作者:IqqIqqIqqIqq 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,原创 2016-11-03 20:15:22 · 633 阅读 · 0 评论 -
背包问题
背包问题很有意思,同时也富有挑战性。首先看一下这个问题的完整描述:问题假定背包的最大容量为W,N件物品,每件物品都有自己的价值和重量,将物品放入背包中使得背包内物品的总价值最大。背包问题wiki可以想象这样一个场景——小偷在屋子里偷东西,他带着一只背包。屋子里物品数量有限——每件物品都具有一定的重量和价值——珠宝重量轻但价值高,桌子重但价值低。最重要的是小偷转载 2016-11-03 20:33:52 · 272 阅读 · 0 评论 -
背包问题
背包问题是应用动态规划的典型例子。解题思路:将背包容量进行分解0-N,步长为1;将物品进行编号1-M;不放物品时,则任意一容量下的最大价值都是0;从第一件物品开始,检查各容量是否可以装下该物品,若可以装下则检查剩余容量则检查剩余容量对应的最大价值,然后将最新获取的最大价值与前面同容量下获取的最大价值进行比较,将较大者作为对应循环位置的最大价值;不断循环直至所有物品均进行了如上的检测原创 2016-11-03 20:30:33 · 272 阅读 · 0 评论 -
回溯算法
理论辅助:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为:1、定义一个解空间,它包含问题的解。2、利用适于搜索的方法组织解空间。3、利用深度优先法搜索解空间。4、利用限界函数避免移动到不可能产生解的子空间。问题的解空间通常是在搜索问题的转载 2016-11-05 09:56:00 · 1503 阅读 · 0 评论