算法
YbFree
这个作者很懒,什么都没留下…
展开
-
递归与实例
直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。优点:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。缺点:递归算法的运行效率较低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多。实例:Hanoi塔问题描述 这个问题起源于一个类似传说故事,在Hanoi这个地方有一个寺庙,这原创 2016-01-04 15:49:14 · 415 阅读 · 0 评论 -
分治法的经典问题——大整数相乘
设X和Y都是n位的二进制整数,现在要计算它们的乘积XY。我们可以用小学所学的方法来设计一个计算乘积XY的算法,但是这样做计算步骤太多,显得效率较低。如果将每2个1位数的乘法或加法看作一步运算,那么这种方法要作O(n2)步运算才能求出乘积XY。下面我们用分治法来设计一个更有效的大整数乘积算法。 图6-3 大整数X和Y的分段 我们将n位的二进制整数X和Y各分为2段,每段转载 2016-01-05 17:43:50 · 1918 阅读 · 0 评论 -
Strassen矩阵乘法 分治与递归
转自:http://blog.sina.com.cn/s/blog_7e9a88f70100zj2h.htmlStrassen矩阵乘法矩阵乘法是线性代数中最常见的运算之一,它在数值计算中有广泛的应用。若A和B是2个n×n的矩阵,则它们的乘积C=AB同样是一个n×n的矩阵。A和B的乘积矩阵C中的元素C[i,j]定义为:分治与递归--strassen矩阵乘法若依此定义来转载 2016-01-07 16:03:16 · 4767 阅读 · 0 评论 -
分治算法--棋盘覆盖
分治算法--棋盘覆盖 问题描述在一个2^k×2^k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。解题思路分析:当k>0时,将2k×2k棋盘分割为4个2^k-1×2^k-1 子棋盘(a)所示。特殊转载 2016-01-07 17:21:29 · 3179 阅读 · 1 评论 -
贪心算法--哈夫曼编码(java实现 )
package org.orithmetic.greedySelector;public class Node implements Comparable>{ private T data; private int weigth; private Node left; private Node right; publ原创 2016-01-11 16:35:08 · 3776 阅读 · 0 评论