![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
应用算法_s
文章平均质量分 53
fireforks
这个作者很懒,什么都没留下…
展开
-
凸壳求解convex hull
给定二维平面上一组点集P,寻找它的凸壳 ,可以采用Grahams scan (O(nlgn) 或者Jarviss march (O(nh), h是凸壳的顶点数。)。 Grahams scan采用一个stack S, 从y值最小的点开始,逆时针扫描所有点,将其依次入栈S, 如果next-to-top(S), top(S), Pi 形成一个nonleft turn原创 2007-06-10 01:49:00 · 1838 阅读 · 0 评论 -
大整数相乘时间优化
假设u,v为两个n bits整数 ,传统的整数相乘复杂度为n2的同阶,采用分治可将时间复杂度减少为nlog3. 将u,v分为两部分,每部分n/2 bits. u: |--w--|--x--| v: |--y--|--z--|则: u = wn/2 + x v = yn/2 + z u *原创 2007-06-10 00:29:00 · 965 阅读 · 0 评论 -
动态规划 dynamic programming
动态规划(dynamic programming)是运筹学的一个重要分支,它是解决多阶段决策问题的一种有效的数量化方法 .1957年贝尔曼发表了《动态规划》一书,标志着运筹学这一重要分支的诞生. 一般来说,适合动态规划的问题需要有两个特性。 1 优化子机构(optimal substructre) 2 重叠子问题( overlapping subpro原创 2007-06-10 21:43:00 · 835 阅读 · 0 评论 -
greedy algorithms_贪婪算法
在贪婪算法(greedy method)中采用逐步构造最优解的方法。在每个阶段,都作出一个看上去最优的决策(在一定的标准下)。决策一旦作出,就不可再更改。作出贪婪决策的依据称为贪婪准则(greedy criterion)。 贪婪算法的正确性使用matroid来证明。 1. huffman code 2.mst tree krus原创 2007-06-14 23:26:00 · 1328 阅读 · 0 评论 -
amortized analysis_平摊分析
平摊分析在平摊分析中,执行一系列数据结构操作所需要的时间是通过对执行的所有操作求平均而得出的。平摊分析可用来证明在一系列操作中,即使单一的操作具有较大的代价,通过对所有操作求平均后,平均代价还是很小的。平摊分析与平均情况分析的不同之处在于它不牵涉到概率。这种分析保证了在最坏情况下每个操作具有平均性能。本文将讨论平摊分析技术中最常用的三种技术: 聚集方法可以用这种方法确定一转载 2007-06-14 23:37:00 · 4451 阅读 · 1 评论 -
动态规划_Dynamic Programming
动态规划 Dynamic Programming (转)提要 本文介绍了动态规划的基本思想和基本步骤,通过实例研究了利用动态规划设计算法的具体途径,讨论了动态规划的一些实现技巧,并将动态规划和其他一些算法作了比较,最后还简单介绍了动态规划的数学理论基础和当前最新的研究成果。目录引言 动态规划的基本概念 动态规划的基本定理和基本方程 动态规划的适用条件 动态规划的转载 2007-06-11 21:04:00 · 6890 阅读 · 0 评论 -
动态规划_动态规划算法的优化技巧
动态规划算法的优化技巧 福州第三中学 毛子青 [关键词] 动态规划、时间复杂度、优化、状态 [摘要] 动态规划是信息学竞赛中一种常用的程序设计方法,本文着重讨论了运用动态规划思想解题时时间效率的优化。全文分为四个部分,首先讨论了动态规划时间效率优化的可行性和必要性,接着给出了动态规划时间复杂度的决定因素,然后分别阐述了对各个决定因素的优化方法,最后总结全文。转载 2007-06-11 20:53:00 · 2814 阅读 · 0 评论 -
动态规划解题
1。 状态选择 所选择的状态需要能确定当前的情况,即需要具备无后向性。状态变量不局限于一个量,一般需由多个量组成。如典型的背包问题m[i, j];而且变量不一定是一个点,也可以是一个连续的区间, 如背包问题中的j是一个点,而i表示一个中间的区间。2。状态转换子问题的递归 子问题的递归,一般有逐步减一式,或者是中间量遍历式。后者产生更多的转移状态。矩阵链乘等原创 2007-06-13 23:09:00 · 587 阅读 · 0 评论