自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 集合划分的词典序生成

                                                              集合划分的词典序生成          集合划分是指:将一个集合划分为几个无交集的子集合。比如,对集合{1,2,3},它的集合划分有:                                       123,12|3,13|2,1|23,1|2|3

2007-12-24 17:05:00 883

原创 词典序法生成出栈序列

 词典序法生成出栈序列          本文用词典序产生1,2,...,n的所有出栈序列,本质上,给出的算法也生成了n节点的所有树.      关于出栈序列与 catalan 0-1序列的关系,在我blog中的“出栈序列与catalan 0-1序列”一文中,已经阐述地很清楚了,由那里的知识,我们知道:生成出栈序列,就是生成catalan 0-1序列。我们规定:在词典序下,0的序数大于

2007-12-19 21:24:00 1597

原创 整数m-划分的词典序法生成

整数m-划分的词典序生成                    在“词典序法生成整数划分”一文中,给出了整数划分的词典序生成算法的实现,那里讨论的是无限制的划分。在实际中,经常需要产生划分部分固定的算法,我们不妨称“n的m部分划分”为:“n的m-划分”。例如,产生11的4-划分,即产生:       8 1 1 1,7 2 1 1,6 3 1 1 ,5 4 1 1,6 2 2 1,5

2007-12-19 16:47:00 968

原创 词典序法生成整数划分

词典序法生成整数划分      词典序法是生成各种组合模式的通用方法。对一些组合模式,人们已经找到简单的格雷通路的构造法则,词典序法与这样的基于格雷通路的方法比起来,速度较慢。因此,在要生成的组合模式存在简单的格雷通路的构造的情形下,一般不用词典序生成算法。但对另一些组合模式,不存在或者目前尚未发现简单的格雷通路的构造法则,这个时候,我们就可以考虑用词典序法来生成需要的组合模式

2007-12-18 17:46:00 904 1

原创 TAOCP V4.F2 格雷码(3)

TAOCP V4.F2 格雷码(3)     本文分析书中算法L。     算法L描述:              分析:     算法的关键是“焦点指针”数组 f[]。     我们以前已经知道:格雷码的生成,可以由序列1,2,3,...,n 经函数g()就可以得到。算法L虽并不明显的出现1,2,3,...,n,但是“焦点指针”数组已经隐式表示了自然数序列1,

2007-11-16 11:15:00 793

原创 一种新的全排列生成算法

一种新的全排列生成算法 算法原理:       对集合S={a1,a2,...,an},假设已经知道前n-1个元的全排列,那么,这n个元素的全排列{p1,p2,...,p(n-1)!},可以这样生成 :用各种可能将an插入pi中,由此,得到集合S的全排列。        为什么这样操作能得到集合S的全排列?因为每个pi的可能插入位置为n个,因此总数是n!,而且由于每个pi是不同的,因此,得

2007-11-10 11:45:00 4857 7

原创 TAOCP V4.F2 格雷码(2)

TAOCP V4.F2 格雷码(2)        九链环问题(Chinese ring puzzle)。1、预备知识,关于异或      若F=a0a1...an-2an-1,那么,若发生aj=1-aj (02、知识浏览          1、为什么类型(b)的移动,将k变成k(2j+1-1)?            设环的状态为(an-1an-2...a1a0)

2007-11-01 18:29:00 854

原创 TAOCP V4.F2 格雷码(1)

  TAOCP V4.F2 格雷码(1)1、预备知识:关于异或      第四卷的第一册是关于布尔代数的,不过还未出版。而作者在描述格雷码的时候,异或出现的次数很频繁,先了解一点异或的性质有好处。性质:1、ab=ba2、(ab)c=a(bc)3、abca=bc4、a0=a5、a1:将a的二进制表示的最后1位取补

2007-11-01 11:55:00 855

转载 出栈序列与Catalan 0-1序列

        出栈序列与Catalan 0-1序列设集合 N 中的元素按次序1,2,3,...,n 入栈,其所有不同的出栈序列的集合为Sn,则|Sn|=。1、结果证明:  定义1、 集合 N={1,2,3,...,n}中的元素按一定次序入栈,其每个出栈序列是 N 的一个元排列,若 N 的两个元排列不同,则称为两个不同的出栈序列(栈序列),记栈序列集为 Sn。  定义2、 n个

2007-10-06 16:43:00 1887

原创 高效的排列生成算法

  本算法与上一篇的组合生成算法是一体的,也是在维普上看到的。我用C++实现如下:#include cstdlib>#include iostream>#include iterator>using namespace std;      void  Permutation( int n )...{    int *A=new int[n+1], *B=new int[n+1], i=

2007-10-05 21:07:00 1034 1

原创 速度暴快的组合生成算法

    近日在维普数据库里看资料,偶然发现了一个介绍组合生成算法的文章,照着算法流程,自己写了一下,发现速度果然不错。C++实现代码:#include cstdlib>#include iostream>using namespace std;void  combination( int n, int m )...{      int   *A=new int[n+1];   

2007-10-05 17:41:00 4301 2

转载 一种约束排列的生成算法

        一种约束排列的生成算法                                                                  陈兆斗、柯爱荣                                                《工程数学学报》本文所述的约束排列是指:m个非负整数所构成的排列a1a2...am,满足约束条件:a11,a

2007-10-04 17:53:00 1714

转载 24点游戏及其算法

                     24点游戏题解                       by starfish [说明:此文改编自我写的一篇解题报告,原题是某年国家集训队组队赛题目] 问题描述 80年代全世界流行一种数字游戏,在中国我们把这种游戏称为“24点”。现在我们 把这个有趣的游戏推广一下:您作为游戏者将得到6个不同的自然数作为操作数, 以及另外一个自然数作为理想目标数

2007-10-04 12:02:00 6988 2

转载 MD5算法介绍及实现

md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变

2007-10-03 21:12:00 1006

转载 数学之美 系列 12 - 余弦定理和新闻的分类

余弦定理和新闻的分类 吴军,Google 研究员        余弦定理和新闻的分类似乎是两件八杆子打不着的事,但是它们确有紧密的联系。具体说,新闻的分类很大程度上依靠余弦定理。       Google 的新闻是自动分类和整理的。所谓新闻的分类无非是要把相似的新闻放到一类中。计算机其实读不懂新闻,它只能快速计算。这就要求我们设计一个算法来算出任意两篇新闻的相似性。为了做到这一点,我们

2007-10-02 12:03:00 587

转载 数学之美 系列十三 信息指纹及其应用

 信息指纹及其应用吴军,Google 研究员        任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。        我们在图论和网络爬虫一文中提到,为了防止重复下载同一个网页,我们需要在哈希表中纪录已经访问过

2007-10-02 11:57:00 587

转载 对google黑板报Bloom Filter的补充

 1. 黑板报上说:对于每一个电子邮件地址 X,我们用八个不同的随机数产生器(F1,F2, …,F8) 产生八个信息指纹(f1, f2, …, f8)。再用一个随机数产生器 G 把这八个信息指纹映射到 1 到十六亿中的八个自然数 g1, g2, …,g8。其实这句话有点绕人, 本质上来说, 就是有8个不同的Hash 函数, 能把这个 X 映射到八个自然数. (实际上对于好的

2007-10-02 11:37:00 1496 1

转载 Bloom Filter概念和原理

Bloom Filter概念和原理                           ------转自焦萌blog Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(f

2007-10-02 11:25:00 2183

转载 布隆过滤器(Bloom Filter)

布隆过滤器                                               ——转自google黑板报      在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被

2007-10-02 10:50:00 842

原创 与二分分治有关的几个函数

 一、二进制1位计数 定义:n为一正整数,n的二进制表示中的位为1的个数记为γn;          [1,n)区间的数的二进制表示中的位为1的总数记为Ρn;   一般的,Pn=n*logn+O(n),  若n=2^t,则:Pn=t*(2^(t-1))。 现在考虑如何快速计算Ρn。 1:递归解决方案 对Ρn,有递归:     

2007-08-11 22:00:00 675

analytic_combinatorics_part2

Philippe Flajolet & Robert Sedewick的新作。<br>

2008-05-04

Combinatorial_Algorithms

组合学算法,组合学算法.

2008-05-04

dancint links

knuth的论文,关于求解完美覆盖问题的.

2008-05-04

analytic_combinatorics_part1

Philippe Flajolet & Robert Sedewick的新作。

2008-05-04

分治法实现最接近点对问题的三维推广算法

分治法实现三维最接近点对问题

2007-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除