Web Analytics

Go泛型真的要来了!最早在Go 1.17版本支持

Go官博今晨发表了Go核心团队两位大神Ian Lance Taylor和Go语言之父之一的Robert Griesemer撰写的文章“The Next Step for Generics”,该文介绍了Go泛型(Go Generics)的最新进展和未来计划。 ...

June 18, 2020 · 13 min · Tony Bai

程序 – 程序员的avatar

程序是什么? 大师们曾给过这样的诠释: 程序 = 数据 + 指令 程序 = 数据结构 + 算法 对此我也表示十分认同。但感觉这些观点更多是从机器运行模型或逻辑抽象的角度看待程序的,是左脑的产物。我的右脑告诉我:程序是程序员的avatar(化身)。这个隐喻式的诠释会让“程序”更有温度,并有些许人性的色彩。 ...

October 8, 2013 · 4 min · Tony Bai

使用正确的算法和数据结构

本文翻译自”Use the Right Algorithm and Data Structure“,来自于《程序员应该知道的97件事》一书中的某个章节。 一家拥有多个分行的大银行抱怨说他们为出纳员新买的计算机运行得太慢了。这件事儿发生在电子银行以及ATM机使用普及程度远不及现在的那个年代。人们更多的是亲自到银行办理业务,这些运行超慢的计算机使得大家排起了长队。因此,这家银行威胁计算机供货商要结束他们之间的供货合同。 ...

April 19, 2011 · 3 min · Tony Bai

查表法求解'自然数对'问题

‘自然数对’是这样的一对自然数,他们的和与差的结果都是平方数,比如:自然数对32和68,根据定义32+68 = 100 = 10^2,68-32 = 36 = 6^2。现在的题目是:根据输入的两个100以内的自然数,打印出这两个整数之间的所有自然数对。 ...

January 29, 2008 · 2 min · Tony Bai

三角形输出问题考量

相信很多人在初学某门计算机语言的时候都会做过类似的题目:在控制台上输出用特定字符’拼’出来的某种图形,比如下面的这种三角形: * *** ***** ******* ********* 这样的问题应该算是入门级的了,大多人都是看之,做之,忘之,而今天我就拿这种入门级的题目说事,小问题里也许内含有大道理。 ...

January 27, 2008 · 4 min · Tony Bai

第一次网上买书

也许有人会笑话我,但这是事实,前天我才收到我第一次网购的两本书。在这个互联网发达的年代,这个"第一次"未免有些落伍了。其实不在网上买书也是有原因的,现在的书店也是打折很多的,还有很多与公司有协议的,拿着工卡就打更多折扣,特别是计算机图书,社科类的书倒是没有这么大折扣。 ...

November 15, 2007 · 2 min · Tony Bai

挖掘一下C语言中的多维数组

好久没有看技术类的书籍了,今晚恰看到以前不知什么时候下到的一本oreilly的叫’mastering algorithms with c’的书,从书名可以看出这是一本讲算法的书,不过由于是选用了C语言作为讲解语言,所以难免不说说C语言。其中看到一节讲指针和数组,恰好碰到书中说: a[i][j] <=> *(*(a+i) + j),这个等价式看起来显而易见,但是还是有些东西值得挖掘一下的。 ...

November 29, 2006 · 3 min · Tony Bai

解决算法分析中递归问题的方法

当一个算法(如二分查找)中包含对自己的递归调用时,关于这个算法时间复杂性的分析最终都转化为一个递归方程的求解问题,而这样的算法不在少数。实际上这是数学领域的问题,但是计算机科学又怎么能脱离数学而存在呢?^_^ 数学是好东西呀,可惜自己在这方面造诣颇浅,今生之遗憾亚。^_^ ...

June 21, 2006 · 5 min · Tony Bai

算法时间复杂性之渐近法分析基础

在我的评论栏中有人说:“你是程序员?",我可以确定、一定以及肯定地告诉他/她:‘我就是一个程序员,如假包换’。也许是最近技术类的blog写得少了,其他类的多写了些,让人家误会了,这也无可厚非。不过我倒是想到这样一个问题:程序员一定要满篇地谈技术么,程序员也有自己丰富多彩的生活呀。好了,切入正题。今天我们谈谈算法时间复杂性的分析。我没系统学过,都是在书上看到的以及MIT算法导论课上听到的。这里仅从我的理解的角度写一些罢了,不是很严谨哟。^_^ ...

May 23, 2006 · 8 min · Tony Bai

算法描述中的'Pseudocode Conventions'

Pseudocode,即伪码,它常常用来描述一个算法,目的是能使被描述的算法能够容易的以任何一种计算机程序语言实现。’Pseudocode Conventions’可以理解为’伪码约定’,既然是’约定’那就并非强制性的标准。但是在专业的有关算法的文献和资料中,其相关内容多符合这些’Pseudocode Conventions’。如果你是一个想学习和钻研算法的人,那么建议你熟悉这些’Conventions’,俗话说:’磨刀不误砍柴工’吗! ...

May 10, 2006 · 4 min · Tony Bai