摘要:
今天做yahoo的在线笔试碰到这个题,当时没想起来 设n0, n1, n2为度为0, 1, 2的节点 对任意二叉树有 n0 = n2 + 1 .........(1) 对于完全二叉树而言,叶子节点只出现在最后2层. 即每个节点左右子数的高度最多相差1 可以很容易知道,完全二叉树中度为1的节点为0个或1个(即至多1个) 由n0+n1+n2=total, 且有(1)式得, 2*n0... 阅读全文
摘要:
XPCOM - Mozilla's cross-platform component object model. BlackConnect - Java-to-XPCOM bridge that allows interoperability between Java and XPCOM components. Evaluation of Interprocess Communicati... 阅读全文
摘要:
XPIDL是为mozilla平台开发XPCOM的基础,在这里简单介绍如下。 XPIDL之旅 1.接口 XPIDL是用来描述XPCOM的语言,它可以生成给C++使用的头文件,以及给其他语言使用的类型库‘ 最简单的例子: interface nsIFoo { }; 如果有父接口,则可以像下面写: interface nsIFoo : nsIParent { }; 按照约定,接口应该有uuid,所以更完... 阅读全文
摘要:
当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个、什么样的参数。即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。 ... 阅读全文
摘要:
本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则。 引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make i... 阅读全文
摘要:
Rich Client Platform 阅读全文
摘要:
Runtime: When a program is running, or executing, it is said to be in runtime. The term is mostly used by software developers to specify when errors in a program occur. A "runtime error" is an error t... 阅读全文
摘要:
第一部分 CVS简介 cvs ( Concurrent Version System )是一个版本控制系统,什么是版本控制系统呢?简单的说,它可以记录程序代码修改的过程,有一个完整的历史记录( history )。辟如说,当你在修改程序代码的时候, 不小心写出了一个 bug,但是你可能很久以后才发现多出了这个 bug, 这个时候,cvs 就能很有效的帮助你找出到底是在哪一次的修改中,出现了这个... 阅读全文
摘要:
什么是软件架构师? 架构师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,架构师是企业的人力资本,与人力资源相比其能够通过架构、创新使企业获得新的产品、新的市场和新的技术体系。那么什么是架构师、架构师的作用、如何定位一个架构师和如何成为一个架构师呢?这是许多企业、许多程序员朋友希望知道的或希望参与讨论的话题内容。 所谓架构师通俗的... 阅读全文
摘要:
根据Linda Rising的《Pattern Almanac》一书,已知的架构模式有七十多种。这是一个只多不少的统计,其中包括了很多通常认为是设计模式的模式,比如Bridge,Facade,Interpreter,Mediator等模式通常认为是设计模式,但是在许多情况下,也可以作为架构模式出现,因此也常常被当作架构模式。 Layers架构模式 在收集到用户对软件的要求之后,架构设计... 阅读全文