原文:经典算法题每日演练——第十六题 Kruskal算法

这篇我们看看第二种生成树的Kruskal算法,这个算法的魅力在于我们可以打一下算法和数据结构的组合拳,很有意思的。 一:思想 若存在M , , , , , 这样 个节点,我们知道Prim算法构建生成树是从 顶点 这个角度来思考的,然后采用 贪心思想 来一步步扩大化,最后形成整体最优解,而Kruskal算法有点意思,它是站在 边 这个角度在思考的,首先我有两个集合。 . 顶点集合 vertexs ...

2012-12-17 00:28 6 5551 推荐指数:

查看详情

经典算法每日演练——第六题 协同推荐SlopeOne 算法

相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,“商品推荐”,"猜你喜欢“,在实体店中我们有导购来为我们服务,在网络上 我们需要同样的一种替代物,如果简简单单的在数据库里面去捞,去比较,几乎是完成不了的,这时我们就需要一种协同推荐算法,来高效 ...

Thu Nov 22 22:43:00 CST 2012 12 10485
经典算法每日演练——第十四 Prim算法

图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过一遍。 一:最小生成树 ...

Thu Dec 13 03:12:00 CST 2012 6 6731
经典算法每日演练——第三 猴子吃桃

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典算法,这个题目体现了算法 ...

Wed Aug 08 20:40:00 CST 2012 23 23502
经典算法每日演练——第十 树状数组

有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的。 一:概序 假如我现在有个需求,就是要频繁 ...

Wed Dec 05 20:50:00 CST 2012 22 7102
经典算法每日演练——第十七题 Dijkstra算法

或许在生活中,经常会碰到针对某一个问题,在众多的限制条件下,如何去寻找一个最优解?可能大家想到了很多诸如“线性规划”,“动态规划” 这些经典策略,当然有的问题我们可以用贪心来寻求整体最优解,在图论中一个典型的贪心法求最优解的例子就莫过于“最短路径”的问题。 一:概序 ...

Tue Dec 18 20:14:00 CST 2012 0 9609
经典算法每日演练——第二 五家共井

古代数学巨著《九章算数》中有这么一道叫“五家共井,甲二绠(汲水用的井绳)不足,如(接上)乙一绠;乙三绠不足,如丙一绠; 丙四绠不足,如丁一绠;丁五绠不足,如戊一绠;戊六绠不足,如甲一绠,皆及。 意思就是说五家人共用一口井,甲家的绳子用两条不够,还要再用乙家的绳子一条 ...

Tue Aug 07 00:57:00 CST 2012 17 17271
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM