
Algorithm
文章平均质量分 78
yidao620
这个作者很懒,什么都没留下…
展开
-
海盗分金
海盗,大家听说过吧。这是一帮亡命之徒,在海上抢人钱财,夺人性命,干的是刀头上舔血的营生。在我们的印象中,他们一般都瞎一只眼,用条黑布或者讲究点的 用个黑皮眼罩把坏眼遮上。他们还有在地下埋宝的好习惯,而且总要画上一张藏宝图,以方便后人掘取。不过大家是否知道,他们是世界上最民主的团体。参加海盗 的都是桀骜不驯的汉子,是不愿听人命令的,船上平时一切事都由投票解决。船长的唯一特权,是有自己的...原创 2009-03-27 09:19:56 · 129 阅读 · 0 评论 -
公钥加密和数字签名
20世纪70年代,一个数学上的突破震惊了世界密码学家和谍报人员,这就是公开密钥加密 (PKE)技术。与传统的加密方法不同,它使用两把钥匙:一把公开钥匙和一把秘密钥匙,前者用于加密,后者用于解密。它也称为“非对称式”加密方法。公开密钥加密技术解决了传统加密方法的根本性问题,极大简化了钥匙分发过程。它着与传统加密方法相结合,可以进一步增强传统加密方法的可靠性。此外,还可能利用公开密钥...原创 2011-08-02 16:17:27 · 794 阅读 · 0 评论 -
最快排序和搜索算法的最简代码实现
快速排序算法和二分搜索算法算法主要分为排序算法、搜索算法、图算法。图算法我用得不多,没有发言权,本文就不说了。排序算法中最快的是快速排序算法,搜索算法中最快的是二分搜索算法。我也最喜欢这2 个算法。因为,它们是使用递归实现的,代码简洁清晰,效率又非常高。根据我的理解,算法的本质就是数学。根据输入和设定的目标,采用有限的步骤实现输出。通常,使用计算机实现的算法,都会用到循环,这样...原创 2012-02-13 19:28:28 · 159 阅读 · 0 评论 -
利用递归算法并行化解决谜题框架
我们将谜题定义为:包含一个初始位置,一个目标位置,以及用于判断是否是有效移动的规则集。规则集包含两部分:计算从指定位置开始的所有合法移动,以及每次移动的结果位置。下面先给出表示谜题的抽象类,其中的类型参数P和M表示位置类和移动类。根据这个接口,我们可以写一个简单的串行求解程序,该程序将在谜题空间Puzzle Space中查找,直到找到一个解答或者找遍了整个空间都没有发现答案。注:一个移...2013-04-30 13:00:00 · 435 阅读 · 0 评论 -
八皇后问题
# coding: utf-8__author__ = 'Administrator'# 冲突函数# 如果下一个皇后和正在考虑的前一个皇后的水平距离为0,# 或者等于垂直距离(在一条对角线上),返回Truedef conflict(state, nextX): nextY = len(state) for i in range(nextY):...2013-08-18 20:36:38 · 103 阅读 · 0 评论 -
归并排序中对小数组采用插入排序
纯归并排序的复杂度为: O(nlgn),而纯插入排序的时间复杂度为:O(n^2)。数据量很大的时候采用归并排序但是在n较小的时候插入排序可能运行的会更快点。因此在归并排序中当子问题变得足够小时,采用插入排序来使得递归的叶子变粗可以加快排序速度。那么这个足够小到底怎么去衡量呢? 请看下面:这么几个我不证明了,比较简单:A,插入排序最坏情况下可以在O(nk)时间内排序每个长度为k的n/...原创 2013-09-29 17:57:21 · 517 阅读 · 0 评论