随笔分类 -  algorithm

组合算法:产生基本组合对象(Generating Elementary Combinatorial Objcts)
摘要:组合对象,算法课刚学的时候我也挺小看他的。之后在写算法,特别是蛮力法,的时候才发现他的重要性。 先说说他的用处。在算法问题中常遇到一些组合问题,如: 给你一个集合S = {2, 7, 36, 40, 53, 59, 62, 69, 77, 80, 87, 89, 95, 98, 100, 102, 103, 106, 112, 115},要你从S中找出他的子集T,使得T中所有元素的和为220。 当然,这个问题不光可以用蛮力来解决。但如果用蛮力法的话,我们有没有最简便的方法,使得算法效率最高呢。这就要用到组合对象了。 组合对象X = {xi},我的理解,它是一个与集合S = {si}... 阅读全文
posted @ 2011-01-02 23:40 @心灵深处 阅读(994) 评论(0) 推荐(0) 编辑
最大堆/最小堆
摘要:堆的定义是:n个元素的序列{k1,k2,…,kn},当且仅当满足如下关系时被成为堆 (1)Ki = k2i 且 ki >= k2i+1 (i = 1,2,…[n/2])当满足(1)时,为最小堆,当满足(2)时,为最大堆。 若将此序列对应的一维数组堪称是一个完全二叉树,则2... 阅读全文
posted @ 2010-12-30 16:39 @心灵深处 阅读(22540) 评论(7) 推荐(4) 编辑
求递归算法时间复杂度:递归树
摘要:用递归树法求递归算法时间复杂度 阅读全文
posted @ 2010-12-21 11:51 @心灵深处 阅读(30990) 评论(2) 推荐(15) 编辑
Hanoi塔
摘要:Hanoi塔 问题 阅读全文
posted @ 2010-12-20 15:59 @心灵深处 阅读(698) 评论(0) 推荐(0) 编辑