您正在查看 "Taocp" 分类下的文章
2008年01月11日 星期五 下午 10:02
2007年04月25日 星期三 上午 09:36
一个月前读TAOCP时发现题目答案有一点小问题,于是给Knuth写了一封信,告诉他这题的答案有点小的缺陷,后来我觉得这个问题根本不算什么缺陷,最多算答案叙述得不够充分。今天居然收到Knuth的信,他告诉我将改进此题的答案,同时,他搞不清楚我的姓是Jiang还是Ling.
附Knuth的回信:
Dear Jiang Ling,
Thanks for your recent note. I would like to use your improvement to
answer 5--19 in the next printings of Volume 3. Can you please tell
me the Unicode numbers that I should use whe |
2007年03月19日 星期一 下午 07:48
今天,终于读完了《The Art of Computer Programming》第一卷"Fundamental Algorithms"。这真是一部值得仔细研读的书,遗憾的是我基本没有碰其中的习题,其中有很多非常有趣的,希望将来有机会能解决之中主要的题目。
毫无疑问这是我读过的最好的一本计算机专业书。其中的数学基础部分是我见过写得最精彩的。虽然作者自创的MIX语言是现实中不存在的语言,但稍用工夫学习后会发现这是一门非常优雅简洁的语言。"Information Structure |
2007年03月19日 星期一 下午 12:18
我曾经考虑过O(1)的空间复杂度删除一棵二叉树的问题。在TAOCP中,对链式存储结构的处理已达到出神入化的境界。受其启发,我重新考虑了这个问题。其思想是利用每个节点的左指针,将后序遍历中需要压入栈的节点就地连成一个链式栈。
deleteBT(Node *btr)
{
Node *stack = NULL;
Node *p = btr->left,q;
btr->left = stack;
stack = btr;
while(stack != NULL)
{
|
2006年12月28日 星期四 上午 10:33
关于自然数n的命题p(n)被数学归纳法MI证明当且仅当:
a)证明p(1)为真;
b)证明当p(1),p(2),...p(n)为真时,p(n+1)也为真。
现在,如何证明命题PMI:
如果p(n)被MI证明,则对任意自然数m,p(m)都为真。
要严格证明PMI,你会发现,会用到数学归纳法MI本身。这就陷入了一个循环。
严格的关于数学归纳法的讨论最终会归结到自然数 |
2006年12月26日 星期二 下午 08:39
目前最常用的随机数产生器是下面这种模式,叫做Linear Congruential Method:
Xn+1 = (aXn + c) mod m, n >= 0
变换为k步长的形式如下:
Xn+k = (a^kXn + (a^k - 1)c/b) mod m, k >= 0,n >= 0,其中b = a - 1
Linear Congruential Method的若干问题:
|
2006年12月26日 星期二 下午 08:17
人们曾尝试用不同的方法产生随机数,包括物理的方法:如掷骰子、利用电路噪声发生器,等等。计算机产生以后,人们用计算机的办法产生随机数:比如将大量的预先由电路噪声产生器生成,并经过良好测试的随机数存放在存储器中,使用时再一个一个取出来。
上述办法的种种缺陷使人们开始寻求用计算机算法产生随机数。冯.诺依曼(John von Neumann)曾提出一个算法:每一个新的随机数是前一个随机数的平方的中间若干位。
如何保证类似这种办 |
|
|