2008年4月28日星期一
遇到有个性的陌生人求助
回来后,我就在想,既然她说一天只吃了一个馒头,那么我应该带她到附近的饭馆去吃饭,如果她真去,那应该是真的没吃饭,反之就是假的。我应该问问她住哪,因为看她穿着干净,应该是有住的地方的,那样一定不会缺一顿饭吃的。天这么晚了,很快就没有公交车了,所以她应该就在附近某处住。如果真是出来找工作,那么为什么没有计划出几块钱吃午饭? 但我又会想,希望她不是真的没饭吃!那样我就不会觉得心里不安。但我有时又会想,我为什么要去帮助她呢? 我10块钱,我的父母需要生产1000块蜂窝煤才能赚那么多,我为什么要给一个我不认识还如此态度的人呢?
以前我非常乐意帮助别人,也常常在物质上帮助陌生人,就像我的父母一样那样乐意帮助别人,虽然自己本身并不富裕,但看着父母的血汗钱常常出去后就经常难以回来,再想想一些自己不努力,祈求他人不断帮助来生存的人,甚至通过欺骗的方式,我就一直在想,这世界,不是所有你觉得可怜的人都应该被帮助的,可怜是有原因的,物质帮助不一定让他们摆脱"贫穷",而有的人其实物质上不见得比你想象的贫穷。
有时在想,<西游记>里面的孙悟空才是真正厉害,而唐僧的菩萨心肠却被妖魔鬼怪不断利用。在外面,真的很需要火眼金睛,帮助那些真正需要帮助也值得帮助的人。但有一点是:先保护好自己!这是所有为社会做贡献的前提!
2008年4月24日星期四
Scribd -免费图书馆
另外,我很高兴的向各位推荐Scribd, 这是一个非常不错的网站,大家可以在上面在线查找阅读文档资料,比如找一些暂时还没有购买的电子书看,如将展示给大家的<Head First Design Pattern>,下面是它的主页截图:
《head first design pattern》
《Java Notes》
【转帖】韩寒-精准对焦大汉奸,生动捕捉卖国贼,唯有尼康
评论/阅读(/)
本文地址: http://qzone.qq.com/blog/622000001-1208807055
“全国头一份反对抵制的活动”,网友对四个昆明网友昨天在家乐福门前的一次行动的“鉴定”。活动发起人马瑞彬对本报记者表示,只是希望让人们看到,还有另一种声音。
反抵制行动原是一句玩笑
四人都是凯迪网友,帖子昨日下午2点发出,到晚上8点多被锁帖时已有280篇回复,支持意见居多。
马瑞彬是一名工程师,因为感到被抵制家乐福的短信和太多要求加MSN红心的信息烦得不行,他和妻子开玩笑干脆我们发起一个反抵制家乐福活动好了。玩笑在跟几个朋友电话沟通之后变成了行动。
昨天上午10点左右,他们来到昆明南屏街家乐福店门口,打出标语:“创建和谐,反对抵制”、“创建和谐环境,迎接08奥运”。
实名发布《倡议书》
马瑞彬等人的活动显然引起了群众的注意,很多市民围观。他们也向市民派发一份《倡议书》。其中写道:“通过招商引资来促进昆明经济建设,而抵制外企无疑会给别人昆明投资环境不成熟的印象……”最后还署上了四个人的名字。
他们在现场也遇到了反对的声音。一位老伯对他们怒吼:“打倒汉奸!”赢得不少观众的掌声。这位老伯还拿出自己带的尼康相机,声称要“照下你们发到网上,让全中国人都看看汉奸。”活动中有警察出现,但并没有阻止,只是提醒他们,前一天抵制活动中,有人表达不同观点被人打了,要他们小心。
为什么要在倡议书上署实名呢?马表示是有朋友建议他们这样做的,主要是为了让人们相信,他们不是家乐福的人。他们也不怕被人打,真要出事就打110报警。要是出现家门被人泼粪这样的极端情况呢?马瑞彬也显得毫不在意:他们就这点伎俩了,有物管呢。马瑞彬说,其实我不少老同学还有朋友也是愤青,相信他们也有通情达理的一面。本报记者 谭人玮
■抵制行动
国旗堵门 水瓶砸人
昨天,昆明部分市民抵制家乐福的现场抗议行动进入第三天。200多人在昆明南屏街家乐福店门口抗议,他们用巨幅的五星红旗堵住家乐福仅有的两个入口,并对每一个出入大门的市民表示鄙视。
17日,200多人聚集在家乐福门口,近一人高的红旗被十几个抗议者竖立着展开,堵住了门口2/3的宽度。众人高呼:“抵制家乐福……”
领引口号的宋先生说,自己在这里宣传,看到依然有人去家乐福购买东西,非常气愤,“心都是凉的。”所以才用五星红旗来堵住大门。
3天的现场抗议活动中,基本都是和平的。但也发生过小冲突,16日,一位在现场发表不同意见的市民,被斥“卖国贼”,遭众人推搡,甚至被扔瓶装矿泉水。
“你们抵制什么家乐福,家乐福里面卖的多半是中国商品……不理性。”朱先生当时大声说,他的声音马上被压制下去。“卖国贼!你说什么!”
局面几乎失控,一些人将矿泉水瓶扔向他,一些人甚至开始动手去推朱先生。孤立无援的朱先生被愤怒的人群逼到了端仕街对面。“人群散去后还有老伯在骂他。
云南信息报供稿
■LV声明称从未资助达赖
在愈演愈烈的抵制LV、抵制家乐福的运动中,一直没有说话的LV终于开口了。昨日,LV公司发表声明称,网络传言失实,他们从未资助达赖集团,声明中称:“无论是本公司还是本公司的主要股东个人,我们从不支持任何与中国政府和中国人民利益相违背的组织与行为。”
法国首富、LVMH集团CEO伯纳德·阿诺特昨天在接受法国《费加罗报》采访时说,LVMH从未给达赖提供过资金援助。他说,该公司在华业务目前没有受到抵制活动的影响。
国内外各大媒体,至今还没有任何关于LV公司曾资助达赖的考证报道,只是在报道抵制事件时引用网友说法。目前还不清楚这个传言从何而来。记者使用法文和英文的搜索引擎,尚未发现此前有任何关于LV与达赖有关的报道。
有一面旗帜叫爱国
当一个国家受到外来侮辱、歧视、入侵时,爱国主义也成了让各种不同思想、不同阶层人们团结到一起的最好口号。
爱国主义往往和民族主义混淆不清,如果有某种极具煽动性的思想作怪时,往往容易演变为极端的民族主义,进而那些爱国者也就演变成了暴徒,成为新的"纳粹主义者"或"法西斯主义者"。
正因为"爱国主义"的这面大旗有如此的功效,在奉行“统一思想”的国度里,"爱国"的神经最易受到刺激,爱国也就自然成了一些人不断加以采用的得力工具,而另一方面,当"爱国主义"这面大旗开始飘扬时,怀揣各种目的的人物、组织也会举着这面旗帜谋利己之事。当这面大旗飘扬到一定时候,也极可能出现各种势力之间的冲突、甚至倒戈相向。所以,对于欲采用爱国主义的人来说,每每在让这面大旗刚刚飘起之时,也是最忐忑不安之时,一旦达到自己的某种目的,或显露某个极端倾向时,便会以秋风扫落叶之势将其掩杀。
善假此者,必明其道也!
醉翁之意
Their's attentions are not Tibet and Olympic Game, but to mast China's Economy and national security!
"抵制奥运"的谬论最早是日本右翼分子、东京都知事石原慎太郎于2005年抛出,其理由竟然是基于2004年日本足球队在中国参加亚洲杯赛时“遭到中国球迷攻击”。(中日融冰之时,他受邀参加北京奥运开幕)其后,法轮功开始频繁抛出此言论、一些政客开始一旦不满中国政府在一些国际问题上面的态度和举措时,便抛出"抵制奥运"的言论,有名的如苏丹达尔富问题、近期的西藏问题,而这些问题最终又会都归结到所谓"中国人权堪忧"上面,要求中国改善人权状况,以此给政府施压。 美国每年发布《国别人权报告》谈及中国人权,多也涉及所谓"西藏人权状况"。也就是说,在中国经济高速发展,全民专心发展经济的时期,一些政府、政客始终握住"中国人权"这个假睾丸不放,以为以此可以让中国给自己更多的利益,它高兴了,少用点力,不爽了就用力的捏,比如此次美国的次贷危机爆发之时,美更是将西藏问题上纲上线,通过所谓"西藏决议"。殊不知那是假睾丸,我们最怕有人把自己的假睾丸当成了真的而放松真睾丸的保护!
在奥运即将召开之际,许多国人认为中国股市应该再度牛市,自从北京时间2005年7月21日23时20分左右央行宣布“人民币升值2%并与美元汇率脱钩”以来,2007年曾一度疯涨,全国一度形成"全民谈股"的迹象,然而随后一度大起大落,而近期股市却并未因为奥运而牛市,反倒低迷。
在当年中国加入WTO谈判中,金融领域的开放问题为重要议题。根据谈判结果,中国加入WTO 五年后,“取消外资银行经营人民币业务的地域限制。”,但这并不意味着外资可以控股中国银行。我们再来看看银监会两个重要文件《境外金融机构投资入股中资金融机构管理办法》 (很奇怪,在中国人民银行 上面没找到正式文件。),在该文件中规定"单个境外金融机构向中资金融机构投资入股比例不得超过20%", 这也就是为什么在2006年会有花旗等6机构242亿重组广发银行,花旗收购财团包括花旗集团与IBM信贷、中国人寿、国家电网、中信信托、普华投资等,认购了当时重组后的广发行85.5888%的股份,值得注意的是,不是华旗一家认购。各家具体持股比例暂未发现明确报道,也有指其超过"25%"。再看看关于征求《银行控股股东监管办法(征求意见稿)》意见的公告, 该意见稿为2008年3月27日发,其中对控股股东的控股比例是这样规定"直接或间接拥有该银行25%以上表决权股份;",这是否是说,外资也可以呢?因为,它没有明确指明对外资的限制,而且达到"25%"比例是相对容易的,不行也可以再搞个财团,达到51%也是可能。鉴于此,网上对该稿关注颇多 。
下面说说为什么对于外资控股中资银行一直以来备受关注。 银行在现代经济中扮演着金融枢纽的作用,绝大多数的经济活动都离不开银行的参与。经济活动的价值正是通过货币流通来发挥作用,所以说,谁控制货币流通,谁就可以影响经济活动。这也是政府通过银行对经济进行调节的原因(银行增减利率就属于调节范畴.)。货币流通既然是价值发挥作用的一个过程,那么参与流通的各方自然需要从中受益,进行价值再分配。银行既然是金融枢纽,自然也可以从中分享几乎每一次货币流通的价值,包括直接的各种服务费以及间接的再投资等等,另外,银行业的成本基本是稳定的,不像工业领域要面临原料等成本增加,经济越发达,货币流通速度越快,那么银行获利也就越多。对于目前的中国来说,正是经济较发达的时期,银行业的大蛋糕有很多人想吃的。
对于当今世界,国家之间已不再为了争夺领地而指责、战斗,根本目的都是为了资源、为了从别处获取更多的资源。为了获取资源,会采取各种办法。比如支持反政府派别要挟政府,取得一方政策上面的"优惠";更有甚者,直接派兵占领,扶持傀儡政权。当然,对于一些无法占领的国家来说,"要挟"是最常见的手段!
为什么说"抵制奥运"不是真正目的呢?
第一,如果一些政府真不希望中国举办奥运,他们完全可以在投票当年反对,向奥委会提议取消中国的资格,但他们为什么没有做?以我愚见,当时他们还未想到"奥运政治化"这一说,当时时机也不成熟,抵制对自己也没任何帮助,更是没有找到借口。
第二,如果说“抵制奥运”本身,至多就是我们的奥运更清静些,也许有人觉得很爽,显得自己多么的高贵,就像有人准备了一桌丰盛的中国菜,人家原答应要来赴宴,最后以我们家的院子里旺财在外面瞎叫为由,说我们对旺财没有给予厚待,然后不来了。好啊,看你,和旺财还较上劲了!但是,请记住,很多个人觉得很爽,看,那个会没人参加! 但后面的政客和政府在想什么呢?难道也为这点点的事较劲,得意? 不是的, 他们想的是国家的利益有没有通过此事件得到扩大。
第三, 所谓那些反政府派别,他们无子民,无地盘,无资源,无经济,无市场等,为什么一些政客和政府还要冒着和一个与自己建交的正统政府翻脸的风险来与他们打交道,甚至暗地里支持呢? 难道他们看不出他们翻不起大浪? 他们看得出,他们只是对方获取更多利益的一颗棋子而已。何况,那位老大叔也已高寿,此时不用还有何时?
第四, 这可棋子分量不轻,虽然成功率极低,但,if true, then China would be surrounded.
综上,奥运和西藏仅仅是一些政客和政府找到的一面旗帜,而西藏问题是导火索,真真的目的在于经济、国家安全、外交筹码。
清醒吧...
隐私泄露
Fig 1. 含有我准确信息的广告 橘黄色是抹去的校名,黄色为我的姓名
如果是某同学泄露,我只能沉默,然而,如果是Chinaren,我不得不谴责:
第一,泄露它人隐私属违法行为。
第二,如果主动泄露,可认为是利用他人隐私谋利!
具体该受到何等的法律惩戒,似乎我国法律还未达到那个水平,所以就不谈了。 但是有一点不得不说, 如果真如分析,Chinaren为隐私泄露源,我们完全可以相信:Chinaren不可靠,不值得信赖,更不值得在所谓的"校内地盘"上面完善个人的诸如 大学、院系、宿舍、家乡、高中、行业、固定电话、qq、msn等等信息,没有人希望把自已的这些资料交给一个不可信赖的网站。
自从FaceBook成功以来,国内很多网站开始大批模仿Facebook, 鼓励大家在网站上使用自己的真实资料,希望大家把现实生活能同步映射到网站上,对此我只能说,成熟的人是不愿意泄露自己实际生活中的隐私的,更不希望把自己真实的社会关系搬上网络暴露给第三方,他们也不会用一个网络来管理维系自己的关系网的(离开现实的网络也无法维系!)。FaceBook的人群主要为学生。 所以,那些希望通过网络来管理关系的人们,在使用之前请三思! 对于网络隐私泄露问题,其实已经有多个案例,较严重者是某记者入狱一案(该记者的email帐户被第三方组织获取)。
保护隐私不仅仅是为了保护你,也是为了保护你的家人、朋友免受伤害!
对于我们来说,我的希望有价值的思想尽可能广泛的被传播,隐私应该尽可能的得到保护!
小草,小树
对这个现象,我要说,我还能说什么呢,读读历史,了解些近代特别是近几十年的历史,你说我还能说什么呢? ...可怜那些金字塔最下面的人们。
我麻木了,还是我清醒了,偶的心咋像西湖得水一样平静呢?
五一,偶打算去购物,该去哪家超市才不会被骂又经济实惠呢? 毕竟偶还是爱国又经济落后的那种人,知道的朋友告诉啊!
有一种树,在它很小的时候看起来就是一棵小草,小的时候它还可以随风倒,长大了那就是一颗参天大树...
下面请欣赏<让我们荡起双桨>
面对这个疯狂的世界
对于一家之主来说,谁愿意看到导弹架到家门口? 分家,分啥呢? 和为貴嘛。
另外,特别奉劝一些外国人士和政府,管好自己事,不要对别人家的事指手画脚,甚至搞小动作,为了主权和国家安全,一个奥运算不了什么!
又突破一个难关
对于我开发的分词程序,我决定先放着, 要让它非常高效的运行估计再没有2个月是达不到的,毕竟我投入了一个月才写出语料预处理,分解,词典管理,从语料中统计信息,分词等,而且分词效果不好,计算效率低, 我采用的是统计方法。与其再投入大量精力和时间自己摸索着开发,贻误时机,不如直接拿别人做好的开源产品直接来用(虽然也有些问题),先让系统运转起来,然后投入精力到最核心的部分,那样才值。
原来我以为google的搜索的所有技术都是自己开发的,现在才发现,有很多他是购买别的公司的,比如中文处理技术,他是购买http://www.basistech.com 的. 其实,每个巨人的成长都是在许多人的成果基础上发展起来的, 举例略。
进步了一点点, 路还很长...
n-gram 分词程序
N-Gram转移概率计算中的若干问题
色戒 河蟹
哦,和谐,社会一向都是"保大弃弱"?
再看许霆案
,许霆因为银行系统自身漏洞而从ATM机上取了170多次,才得17.5万,可自己却被送了个“无期徒刑”!笑谈,好像就是说,两个击剑手在赛上比赛,一
个穿了个劣质防护服,不小心被对方刺伤了,另一方就被判为"无期徒刑"。小心啊,以后用银行系统时千万要注意,不要让自己莫名其妙的被套了。顺便,再看看英国:银行机多吐钱 取款人不被追究 ,是不是有意思!
我在我的家乡已经看到了很多让我这个不懂法的人都认为莫名的审判结果了...
此时若不为该案的不公正审判呐喊,中国可能就会多出多个许霆,说不定下一个就是我们自己!不要默然的看待别人的不幸,否则,不幸很可能降临到你自己身上,
并被别人默然对待。如果你可以类比自己为<色戒>中的老吴,那么你也许可逃脱,相反,如果你自认为可类比那些可怜的大学生,那最不幸的人就是
你了...
每个人都需要惊醒自己!
n-Gram splitter
Oyeah!
JavaScrip页面搜索
这个功能的处理过程是:在一个div divCont中放入要显示的选项,给要检索的Label中加入了 forSearch="true"属性(这是个自定义属性),代码根据这个属性取得我们要检索的所有的Label(待检索内容为Label中的文本,我们通过innerHTML取得.),然后用我们要查询的字符串与取得的label内的文本进行比对,当找到含有我们要查询的字符串时,将这个Label背景设为绿色,同时记录第一个找到的 label,检索完毕后,将div divCont的滚动条移到第一条检索结果出。
如何将这个功能推广到checkbox以外其它上面去呢? 根据上面讲解,我们知道,检索依赖的主要是Label的forSearch="true"
属性和这个Label的innerHTML,所以,我们可以对我们要检索的标签加上forSearch="true"属性,将要检索的内容置于该标签内即可。也就是说,这个检索事实是与标签没有关系的。
在实际项目中应用时,需要将下面要素添加到页面:
1.header部分的javascript,添加到你的页面的header部分;
2.name="words11"的文本框,onclick="searchInfor()的button;
3.待检索内容的容器<div id="divCont" style="border:1pt #BBCCC0 solid;height:232px;width:40%; overflow: auto; position:absolute"></div>, 这个可选,(但推荐加上,可以看起来比较美观点。)主要是为了实现滚动条效果,如果不加,就会取得整个body下面的指定标签;
4.
getCheckBoxText()函数,这个函数可以传入参数,指定要进行检索的标签类型,默认为label,当传入*时,它将认为整个页面(这一块有点不合理,应该是指定的div下面的所有标签才合适,但目前还没有找到比较好的可以快速获取div下面所有子节点的方法,不止第一层的,如果找到了,可以修改getElementsByAttribute的第一行代码来实现.)的所有加forSearch="true"的标签都要检索。5.给你要检索的标签中添加forSearch="true"属性;
6.将最末尾的javascript代码添加到你的页面的最末尾,千万不要放到header部分,负责divCont会取不到。
7.美化页面:)
这样,你的页面就可以具有一个页面搜索功能了.在使用过程中,如果有什么新发现,欢迎分享。
|
嫦娥:是月亮偷偷变了脸,还是?
我觉得图片在拼接时出错的概率高点,因为从欧阳自远澄清嫦娥首幅月球图像抄袭美国传言上知,"11月26日我国发布的嫦娥首幅月球图像,是从嫦娥一号卫星搭载的CCD立体相机开机工作后获得的第一轨图像开始,对19条卫星轨道的一部分探测图像进行拼接而成的。" 既然是拼接,那自然就涉及到如何定位拼接线,我们知道,月球表面是球面的,拼接出来要得到一个平面图形,此时就存在一个问题:将球面展开放到一个平面上。这个我们都知道,理论上办不到完全展开(可看看拓扑学),所以,拼接线的计算自然会存在误差,只是看误差大小了。我觉得,"19条卫星轨道"有点少,月球多大?直径3467公里,嫦娥的工作轨道为近月点210公里、远月点8600公里,这样还只采样19条的一部分图象,所以这时计算拼接线就更加困难,稍不注意就会让误差增大的。当然,如果是人手工拼接的,那我们就得期望不光要认真,更要提高科技水平了。
"你看,月亮偷偷变了脸"
学习二叉树,研究数据结构的本质
二叉树有五种基本形态:(1)空集;(2)左子树为空;(3)右子树为空;(4)左右皆为空;(5)左右皆不为空。
有上面二叉树的定义知,每一个二叉树中的节点有如下特征:(1)至多两个子节点;(2)节点有左右之分;(3)有一个左节点活又节点;(4)没有子节点。
二叉树与树、有序树的不同点: 二叉树与度数不超过不超过2的树和有序树不同。在有序树中,虽然也有左右之分,但如果一个节点只有一个子节点,就无须区分左右节点。而在二叉树中,即使一个节点也是区分左右的,
二叉树遍历(Traversal) 二叉树的遍历就是沿着某条搜索路径,一次对树中的每个节点访问且仅访问一次。由二叉树的递归定义知,我们可以用递归方法遍历:
a. 访问树的根节点(N--root Node);
b. 遍历根节点的左子树(L--Left);
c.遍历根节点的右子树(R);
由于二叉树是“L/N\R” 结构,所以我们可以有如下可能的遍历次序:LNR, LRN; NLR, || NRL; RLN, RNL, 对这个序列进行调整,
LNR, LRN, NLR, || RLN, NRL,RNL, 这时我们就会发现这个序列关于 "||"轴对称,也就是一边的是另一边的遍历的倒序。所以,我们只需要研究其中的三种就可以了。依据根节点被访问的次序,我们就可以得到前序遍历NLR(Preorder Traversal), 中序遍历LNR(Inorder Traversal), 后序遍历LRN(Postorder Traversal).
下面我们来看看二叉树的存储问题。在这里,我们现不研究它如何在硬盘/文件中的存储方式,先研究如何把它用数据结构方式存储到内存中,方便我们的操作。
二叉树的存储(内存中的结构)对于二叉树,它的结构由以下三个要素构成:(1)节点;(2)节点的连接关系;(3)父节点相同时子节点的左右次序。知道了这三个要素,我们也就知道了我们需要设计出一种结构来保存这三个元素,但此时,我们还要多想一点,这三个元素中哪哪一个是主导元素呢? 是节点?边?左右次序? 这时也许要迷惑了,为什么要想这么多呢? 请注意,虽然它自身在定义时是以节点为主体来定义的,但二叉树是一种抽象的结构,它不仅仅可以存储节点(一般被用来保存数据),同时也保存了边(一般保存了节点之间的关系,如父子关系。),所以,以何为主体完全可以由自己的实机需要来决定。
下面我们先假设我们认为主体是节点(这也是数据结构教科书中常常默认的),也就是我们要处理的数据,那我们可以设计出下面的结构,
/*****************************
* binary tree node definition
*****************************/
typedef struct binaryNode{
T *data; /* T is the type you stored in node. data is the data in the node.*/
struct binaryNode *left; /* left node of parent node. */
struct binaryNode *right; /* right node of parent node. */
}BinaryNode;
由前面遍历的递归描述我们可以得到下面的递归遍历算法,
/*********************
*binarytree.h
**********************/
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
/*****************************
* binary tree node definition
*****************************/
typedef struct binaryNode{
T *data; /* T is the type you stored in node. data is the data in the node.*/
struct binaryNode *left; /* left node of root. */
struct binaryNode *right; /* right node of root. */
}BinaryNode;
/********************************
* Inorder binary tree traversal.
********************************/
void inorder(BinaryNode* root)
{
if (root != NULL) {
inorder(root -> left); /* recur left */
printf("%c ", root -> data);
inorder(root -> right); /* recur right */
}
}
/*********************************
* Preorder binary tree traversal.
**********************************/
void preorder(BinaryNode* root)
{
if (root != NULL) {
printf("%c ", root -> data);
preorder(root -> left);
preorder(root -> right);
}
}
/***********************************
* Postorder binary tree traversal.
***********************************/
void postorder(BinaryNode* root)
{
if (root != NULL) {
postorder(root -> left);
postorder(root -> right);
printf("%c ", root -> data);
}
}
这个递归遍历算法看起来很简单,但效率不会太高。因为递归调用会倒置没递归一次都需要在栈中保存一个函数指针,而系统的栈的空间大小却是非常有限的(一般是1M到几M),所以,当数据很多时就可能出现stack over flow的错误。所以,这个递归算法通常在小数据量的情形下是可行的,太多的数据时就得考虑用非递归算法了。
接下来,我们就考虑用非递归方式实现遍历。可参考http://blog.csdn.net/rainer7/archive/2004/08/10/70671.aspx
(未完)
