Category Archives: 生活点滴

非技术相关

湖人拿了总冠军,科比带上了他的第四枚总冠军的戒指

   “哈哈,科比拿了总冠军了.”我兴奋地叫了一声……

  这也是科比的第四个总冠军。科比时隔7年之后首次夺冠也终于成功打破没有“大鲨鱼”奥尼尔无法夺冠的宿命。科比本场比赛23投10中,砍下全场最高的30分,另有6个篮板、5次助攻、2次抢断、4次盖帽。

  科比在总决赛5场比赛里场均贡献32.4分、5.6个篮板、7.4次助攻,最终荣膺总决赛MVP,捧起“比尔-拉塞尔奖杯”。在经历了13年之后,科比收获了常规赛MVP、总决赛MVP、奥运会金牌、总冠军等荣誉,实现了迈克尔-乔丹式的“大满贯”。

这是本场比赛的一些组图:

 

 

     虽然忙了一些,没有时间关注NBA,但是一旦有湖人队的比赛,我会兴奋,会打开CCTVBox,看体育新闻,因为我喜欢科比,喜欢他统治赛场的那种感觉……

     为什么喜欢他?

     有人会说,因为他是巨星,因为他是领袖……

     他们说得有道理.我说,还有一个重要的原因,就是因为他身上有我想要达到的东西.对,他是领袖,但是他比别人付出了好多.我们做不到,就得羡慕;我们做不到,就得学习;我们做不到,就得去做……

     “训练,训练,这就是科比的故事.”,这是一位网友的经语:

http://blog.sina.com.cn/s/blog_4a1356fa0100905f.html 

 

     科比没有那霸占禁区的身体条件,没有姚明的身高,当然,为了成为巨星,他需要训练,训练各种能力来补偿:变向突破、空中拉杆、急停跳投……

科比说,自己最崇拜的一个英雄是蝙蝠侠而不是超人。“对于我而言,超人是个胆小的人。因为他是生来就是超人,而不是通过努力得来的,他生来就具备这些超能力。而BATMAN原本是个普通的人,就像你我一样有血有肉,他是通过努力才得到了他所拥有的一切。他必须去训练,让自己去转变。” 无时无刻不间断的训练,这才是科比成功的秘诀。 

有人说,科比球德不好……我才不信那些论断,那是因为他强大,经常把你的偶像球队打得落花流水,你有些不满,不喜欢他的独断,不喜欢他的统治.可是,弱者能有这样的霸气???

我一直坚信两句话:1.”Hard work pays off!”; 2.”If you want something,work for it!”.

我一直很理解这样的话,早就理解了,在高中,在大一……可是,有时候,只是不太相信自己而已,有后怕,怕付出后没有得到回报的那种失落感,无助感……

有人说,感谢失败,因为它会给你教训,会给你动力……

我也明白,但是我那有那么超脱,我会害怕,我不是超人,更不是神仙;但无论如何,当我跌入那种心境的时候,我需要调整,我需要自信,我需要看那些名人的故事:林肯,成龙,比尔.盖茨,乔丹,科比……来不断地激励我自己.

原来,巨星也是这么练出来的,因为他做了不想去做的事情;他做你害怕去做的事情;他做了你认为你做不到的事情……

我知道了,让那些成为一种习惯,习惯了就好了,呵呵……

喜欢名人,喜欢明星,喜欢科比……

 

 

你不知道,上帝更不会知道

你不知道,上帝更不会知道  

             (摘自《读者》) 

 

19岁那年,我在休斯顿太空总署的太空梭实验室工作,同时也在总署旁边的休斯顿大学主修计算机专业。我整天处在学习、睡眠和工作之间,这些几乎占据了我每天的全部时间,但是,只要有一分钟的闲暇时间,我都会把精力放在自己的音乐创作上。

我知道,写歌词不是我的专长,所以在最近的一段日子里,我时时刻刻都在寻找一位擅长写歌词的搭档,与我一起创作。我认识过一位朋友,她叫凡内芮。自从我二十多年前离开得州后,就再也没有听到过她的消息,但是她却在我的事业刚刚起步时,给我最大的鼓励。

年仅19岁的凡内芮在得州的诗词比赛中不知获得过多少奖牌,她的作品总是让我爱不释手。当时,我们的确合写了许多不错的作品。直到今天,我仍然认为那些作品充满了特色和创意。

一个周末,凡内芮热情地邀请我到她家的牧场吃烤肉。

凡内芮深知我对音乐的执着,然而,面对那遥不可及的音乐圈子及陌生的美国唱片市场,我们一点渠道都没有。当时,我们两个人安静地待在得州的牧场里,根本不知道下一步该如何走。

突然,她冒出了一句话:“想象一下你五年后在做什么?” 

我还来不及回答,她又抢着说:“别急,你仔细想象,完全想清楚,确定后再说出来。”我沉思了几分钟,开始告诉她:“第一,五年后,我希望能有一张自己的唱片在市场上,而这张唱片很受欢迎,可以得到许多人的肯定。第二,我住在一个音乐气氛浓厚的地方,每天都能够与世界上一流的音乐师一起工作。”

凡内芮说:“你确定了吗?”

我从容地回答:“Yes!”

凡内芮说:“好,既然你确定了,我们就把这个目标倒算回来。如果第五年,你有一张唱片在市场上,那么你在第四年一定是要跟一家唱片公司签约。”

“你在第三年一定要有一部完整的作品,可以拿给许多唱片公司听,对不对?” 

“你在第二年一定要有很棒的作品开始录音了。”

“你在第一年一定要把准备录音的所有作品全部编曲,把排练准备好。”

“你在第六个月一定要把那些没有完成的作品修饰好,然后自己可以逐一筛选。”

“你在第一个月就要把目前这几首曲子完成。”

“你第一个星期就要先列出一个完整的清单,排出哪些曲子需要修改,哪些需要完成。”

“好了,我们现在不就知道你下个星期要做什么了吗?”凡内芮笑着说。

“喔!对了。你还说五年后要生活在一个音乐气氛浓厚的地方,然后与许多一流乐师一起工作,对吗?”她急忙补充说,“如果你在第五年已经与这些人一起工作了,那么你在第四年就应该有自己的工作室或录音室。在第三年,你可能会先跟这个圈子里的人一起工作。在第二年,你不应该住在得州,而应该搬到纽约或洛杉矶了。”

第二年,我辞掉了令许多人羡慕不已的太空部署工作,离开了休斯顿,搬到了洛杉矶。说来也奇怪:不敢说是恰好在第五年,但大约是第六年,我的唱片开始在亚洲畅销了,我几乎每天多忙碌着与一些顶尖的音乐高手从日出到日落地一起工作。

每当我困惑的时候,都会静下来问自己:“五年后你‘最希望’看到你自己在做什么?如果你自己都不知道这个答案,又如何要求别人甚至上帝为你做选择或开路呢?”

别忘了,在生命中,上帝已把所有“选择”的权利交到我们手上了。

 

 

以此文献给曾经让我学会规划的王根培师兄。

  

 

 

感悟《数据结构与算法分析(C++描述)》中的一些超经典递归函数

在这里,我想感悟一下关于数据结构方面的经典著作《数据结构与算法分析(C++描述)》中的两个经典的递归函数。  

 

一、AVL树中的插入操作 

基本思想:由于AVL树是一种平衡树(每个节点的左右子树高度差不超过1),所以每进行一次插入操作,就有可能破坏AVL树的性质。当破坏性质之后就要进行相应的调整,调整的内容在这里我就不赘述了。

下面是作者:Mark Allen Weiss写的关于AVL树的插入函数: 

1.树节点的定义:

struct AVLNode
{
 T element;
 AVLNode* left; //左子树
 AVLNode* right; //右子树
 int height; //节点高度(节点的高度:节点的高度是指该节点到一片树叶的最长的路径长。)
 
 AVLNode(const T& eIn,AVLNode* lt = NULL,AVLNode* rt = NULL,int h = 0)
        :element(eIn),left(lt),right(rt),height(h) { }
};  

 

2.插入函数

/*x 是需要插入的数据项; t是子树的根;插入之后更新子树的根。*/
void insert(const T& x,AVLNode* & t)
{
     if(t == NULL)
        t = new AVLNode(x,NULL,NULL);//空节点
     else if(x < t -> element) //向左插入节点
     {
         insert(x,t -> left);

         if(height(t -> left) – height(t -> right) == 2) //如果破坏了AVL树的性质,进行相应调整
         {
              if(x < t -> left -> element)//向左儿子的左子树进行插入
                  rotateWithChild(t); //进行一次左单旋转
              else
                  doubleWithLeftChild(t);//进行一次左双旋转 
          }
     } 
     else if(x > t -> element) //向右插入节点
     {
          insert(x,t -> right);
         
          if(height(t -> right) – height(left) == 2) //破坏了AVL树性质
          {
              if(t -> right -> element < x) //向右儿子的右子树进行一次插入
                  rotateWithRightChild(t); //进行一次右单旋转
              else
                  doubleWithRightChild(t);//进行一次右双旋转 
          }
     }
     else //该树中已经存在该节点   
         ;      

    //更新节点高度 
     t -> height = max(height(t -> left),height(t -> right)) + 1;  

其他函数: 

(1)int max(int lhs,int rhs) //计算高度

{

     return lhs > rhs ?: rhs;

(2)int height(AVLNode* t) const //返回及节点的高度  

{

     return t == NULL ? -1:t -> height;

}   

(3)void rotateWithLeftChild(AVLNode* & k) //进行一次左单旋转

{

       AVLNode* k1 = k -> left;  

       k -> left = k1 -> right;

       k1 -> right = k;

       k -> height = max(height(k -> left),height(k -> right)) + 1;//更新根的高度   

       k1 -> height = max(height(k1 -> left),k2 -> height) + 1;//更新新根的高度

       k = k1; //新的根

(4)void doubleWithLeftChild(AVLNode* k) //进行左双旋转 

{

      rotateWithRightChild(k -> left);//先对左儿子进行一次右单旋转

      rotateWithLeftChild(k -> right);//再旋转根节点

}   

剩余的那两个旋转和这两个旋转函数是对称的,这里就不多说了。

 

请注意插入函数最后我弄成蓝色的那行代码。

     我们一般都会这么想:在插入之后判断是否还平衡,如果不平衡的话,我们就进行相应的调整。我们会编写这样的一个函数:

int calculateHeight(AVLNode* t)。 这个函数是递归的,递归的计算节点的高度。如果出现不平衡的情况,则进行相应的调整。可是,如果这样的话,就会增加一些递归的开销,实在没有必要。

     但是这个作者另辟蹊径,他不是编写递归函数,而是在递归的过程中完成,在弹栈的过程中完成了这个工作。在弹栈的过程中,首先判断在压栈的过程中经过的那些节点的左右子树的高度差,如果发现左右子树高度差超过了1,那么进行相应的调整;之后再更新节点的高度。

天才的作者,看来他对递归的过程了如指掌了:压栈,出栈~~在出栈的过程中更新节点的高度,好经典!!

 

二、左式堆的合并函数

思想:递归的合并小堆的右子堆和大堆。 以下是作者写的两个合并函数:

1.LeftistNode* merge(LefttistNode* h1,LeftistNode* h2) //合并两个子堆

{

    if(h1 == NULL)

        return h2;

    if(h2 == NULL)

        return h1;

    if(h1 -> element < h2 -> element)

        return merge1(h1,h2);//merge1函数假设第一个参数是小堆 

    else

        return merge1(h1,h2);

}      

2.//下面的这个函数假设第一个参数是小堆。

 LeftistNode* merge1(LeftistNode* h1,LeftistNode* h2)

{

      if(h1 -> left == NULL)

          h1 -> left = h2;//处理单个节点的情况,此时h1的右子树早已为空,为什么呢??呵呵~~  

      else

      {

          h1 -> right = merge(h1 -> right,h2);

          if(h1 -> left -> npl < h1 -> right -> npl)

               swapChildren(h1);//交换左右子树

        

       //风格的又一体现

         h1 -> npl = h1 -> right -> npl + 1;

       }

       return h1;

}   

说这本书是经典之作,一点都不夸张,代码写得好美!!他试图给我们养成一种思维习惯!!

家驹,beyond

   初识家驹,初识beyond,是在初二的时候。一次偶然的机会,我借了同学一盘Beyond的磁带回家听,当时听了几遍,觉得调子很好听,特别是《海阔天空》,《光辉岁月》,《真的爱你》。《海阔天空》给我一种很开阔的感觉;《光辉岁月》和《真的爱你》给我一种很轻快的感觉。

   一次在电视上看见有人点播beyond的《光辉岁月》和《岁月无声》。里面家驹赤膊的弹吉他的样子给我留下的印象好深刻,当时就感觉好亲切:自己喜欢的歌曲居然有人点播。感觉家驹弹吉他的样子真的好帅气,每一个动作透露出来的尽是一种自信,一种征服听众的感觉。我开始关注家驹,关注beyond,听不懂那些歌词我会想向邻居一位会粤语的哥们提问,终于,我慢慢的听懂了一些歌曲:《海阔天空》,《光辉岁月》~~

   终于,我再也不愿意把那盘磁带还给我同学,我用2块钱买下了那盒磁带。红色的色调,它静静地跟我度过了7个春秋,现在它依然完好地保存在我的盒子中。

   到了高中,很幸运,我遇到了一位也喜欢听beyond歌曲的老乡,他了解beyond的东西比我还多。我经常跟他聊beyond,想他学习一些关于beyond的知识,我也经常到新知图书城翻阅一些关于beyond的资料。

   一件小事,一些经历,一秒,一分,一年,足以改变一个人,更何况是三年。三年的高中改变了我,我开始变得成熟,我开始变得稳健,我开始变得自信,我开始变得开朗,我开始变得沉着。高一刚进宏志班的时候,我顿时感觉到我一无是处,我不断地提问自己:我的优越感哪去了?想当年我也是全校第一名,现在怎么会变成倒数了?我行吗??一遍一遍的提问始终找不到答案。

   我依然清晰地记得,高中的第一次期中考,我考了全班第26名(当时班里面有50名同学),全校几百名以后。理科给我的打击好大,我的数学没有及格,物理刚过六十分,化学差强人意。我顿时感觉压力从天而降:怎么这么多的强人?他们真的好难被打败。

   我需要发泄,发泄心中的不满,发泄心中的怨气,发泄心中的不平衡。我开始学会写信,写信给初中同学,写信给小学同学,告诉他们我们这个班竞争压力很大,自己很受委屈;他们当然会一如既往的鼓励我。但是他们毕竟在远方啊,怎么可能随时听我心中的那份苦楚呢?于是,这个时候,我总是会情不自禁的想起那盒红色的磁带:beyond《光辉岁月》。每次晚上睡觉之前,我总是习惯性地把那盒磁带放进我的复读机,一遍又一遍地听。

   高三这年是我心事最多的一年:家,分数,奖学金考试,英才班,年级排名~~每周一次的小测验,每月一次的月考,每三月一次的省统考,我无不为这些考试绞尽脑汁。我会为我的马虎而自责,我会为我的物理而无奈,我会期待我的数学出现奇迹,我会烦英语。每一次考试之前我都会对自己说:下次要考好。但是我还是会紧张,因为我自卑。这个时候,又是那盒《光辉岁月》救了我。每一次考试之前,我都会重复地播放《不再犹豫》,因为那样,我会获得无穷的动力,我会自信。但是面对分数,我更多的是无奈。晚上我会一个人到楼下的树林下一个散步,一个人静静的想,期待早些下课,因为我要回宿舍,我要听歌,我要听beyond的歌曲。

   高三的时候,我多了一个习惯:睡觉之间听那盒磁带,静静地听。

 

听《光辉岁月》: 

   听家驹对黑人领袖曼德拉总统的赞美。每个人心中都有这样或者那样的偶像和喜欢的人,从他的歌声中,我知道,我应该学习他们的哪些方面,那激昂的调子会让我兴奋得睡不着觉;我会联想他弹吉他的样子,他身上透露出的那种自信试图征服现场的每一位观众,包括钟一钧,他的忠实听众。每次我总是情不自禁的哼那段哨子,心情顿时开阔不少;而他那经典的“我爱你”手势,早已铭记在我的心田。

 

听《不再犹豫》:

   高中每次考试之前,我总是习惯性的听《不再犹豫》。“达到理想不太易”,我理解,要实现心中的理想真的不太容易,幸亏有beyond,有家驹,我不然我总是以为随便随便就可以成功,天上总是会掉馅饼,总是想不劳而获。

   于是,我不再急躁,一步一步地提高,慢慢地做好每一步:数学不好,我可以做好多的题目,终于,我也可以考上120分;英语不好,我可以背单词,我可以读英语,我可以做完型填空,呵呵,原来我也可以考及格的。

 

 

听《海阔天空》:

   我会为家驹身上那种开阔的胸襟所折服,我会为2003年北京beyond的那份不放弃的精神而感动得泪水直流。如果说家驹在《海阔天空》中说“跌倒了不要紧”,那么2003年的beyond已经是一种升华:家驹走了,他们还能走下去吗?

   很多家驹迷一直被这个问题所困扰;但是这次他们证明了,他们行,虽然家驹走了,但是他们还要开演唱会,开世界巡回演唱会,以此来实现家驹心中的那个未实现的梦想。 我呢?告诉自己说:再来一次。

 

 

听《午夜怨曲》:

  当初,家驹帮别人弹吉他,但是家驹很不小心,把别人的吉他弦给拨断了,那人对家驹说:你永远也不会弹吉他。可是,家驹真的不服气,因为他从来都是那么好胜,他鄙视那些看不起他的人。于是,他不断地练习,直到手指都夹出血为止。正如这首歌里面所写的那样:“再次听到昨日的冷嘲”,“冷笑变作故事的作者”,他总是那么上进,或许,我这方面性格或多或少受这首歌曲的影响。 

 

听《再见理想》:

 

   在唱这首歌之前,他讲了这么一些话:“我们Beyond在这几年间经历了很多东西~~从我们没有机会直至有机会,一路在改变,我们有开心有不开心,但是都不要紧,我们Beyond会永远夹Band夹到我们的手指不会弹为止,坚持我们乐队之前的信念,希望大家的想法跟我们的一样。一首很旧很旧的歌,这首歌讲出了我们在早期时间一些玩音乐的感觉~~一种孤独与落寞的感觉。” 

创办这个乐队的辛酸和落寞都写在这首歌曲里面了,大家都说:一些事情只有自己经历过了才知道。真的,那种孤独和落寞只有beyond才能体会得到:“独坐在路边街头,冷风吹醒,慢慢地伴着我的孤影”,“只想将吉他紧抱,诉出辛酸”。

 

 

听《谁伴我闯荡》:

   每次我听这首歌曲,我的眼里总是擒满了泪水,好想哭。前奏把内心的那种孤独感和落寞感表达得淋漓尽致。

   每次我感到孤独,寂寞和浮躁的时候,我总是要听这首歌。大一的时候,虽然目标很明确:编程.但是累的时候总是会很浮躁,很不自信:我这样能找到工作吗?我这样会不会变成一个孤僻的一个人?我会不会找不到老婆?我的视力会不会急剧下降?这样努力,我为的是什么?我值得这样做吗?

   带着一系列的问题,我只能在这首歌中找到答案。原来家驹也跟我一样有这样的感觉:“前路是哪方?谁伴我闯荡?”,“沿路没有指引,若我走上又是狭巷。”。但是他终于还是想通了:“只有淡忘”,“只有顽强”。

   听歌的时候,我总是联想,联想到那些在冰天雪地里面卖冰糖葫芦的人;联想到我家乡那些“脸朝黄土背朝天”的亲戚们;联想到那些吃了上顿没下顿的人们~~~于是,我对自己说:如果你都这样了想了,他们呢?

   我终于想通了,我不累,我是在为以后的生活奋斗啊,“只有淡忘”,“只有顽强”。

 

 

听《真的爱你》:

   我知道,我要理解母亲的一言一行;我要做个孝顺的孩子,不让母亲受苦受累;我要学会珍惜。

 

   家驹之于我,beyond之于我,已经是一种精神象征,我的生活中不可能少了家驹和beyond的歌声,即使在未来。

以前我不相信很多事情,但现在相信了

     又到了周六晚上,我还是想往常一样,坐在计算机大楼的某个座位上静静地听师兄们发表技术之道。我总是很愿意和那些比我年长的人聊天,因为他们在我的心目中总是那么的博学,那么的有才,那么的深邃,我总是希望在他们的话语中悟出一些东西~~~
     今天晚上又到梁师兄给我们讲专题了:走近百度。
     百度是自己心仪的公司之一,之前总觉得那里离自己很远,很远~~~今天师兄的一个讲座,让我感觉百度
就在自己的身边,感觉好近~~那一个个视频都是一种震撼,一张张图片都是那么的诱人:  理想国际大厦,普天大厦,第三极大厦,上地大厦~~~  

下面是那震撼人心的视频:

        

     

     大一的时候不相信能和百度走得这么近;听了师兄今晚的讲座后才知道,这是真的。

 

    以前不相信很多东西,现在相信了~~~

     没读书的时候,不相信自己家里能有一台电视机。当时家里没有,我和我弟弟就经常跑到隔壁家去看电视,有时候我们被他们轰在门外,不能进去他们家,他们说我们身上脏;我和弟弟很委屈,跑到家里跟妈妈说:妈妈,他们嫌我们脏,不让我们进去他们家里看电视~~妈妈安慰我们说:儿子,没事,以后咱们家有钱了再买。虽然当时我们不信,心想:我们家这么穷,什么时候能买~~但是当时还是很欣慰,很期待的,现在依然还很怀念那种感觉。高二的时候家里终于买电视了,那是占用农田的补贴。终于相信家里能有电视了。  

     没有读书的时候,很羡慕电视上的那些明星,不相信有那么一天,自己能亲眼见到或者接触到那些明星。大一的时候,迪克牛仔来到我们体育馆唱了几首歌曲,当时把我兴奋的,疯狂地转发了好几十条短信;前不久,心目中的神:科比,也在中国弄了一个青葱计划,准备在中国招收徒弟(呵呵,我很想去),原来 ,我也可以有机会亲眼见到心目中的偶像;看完春晚之后,不相信有那么一天,自己也可以有机会亲眼见到小沈阳,但是前不久去他博客瞎逛的时候,我相信了。现在相信了,原来他们都没有住在天上。

      上幼儿园的时候,不相信家里能有一辆轿车来接我回家,现在相信了,以后会有的。

      上小学的时候,不相信每天早上都有1块钱买早餐;高一的时候相信了,原来每天早上真的可以有1块钱买两个包子,甚至高兴的时候,可以再买一杯豆浆和一个鸡蛋。  

      上小学的时候,不相信有一天,自己的手里能撰着红红的一张钞票;初二有一次,在自己家的附近捡到了两百块钱,当时心脏差点吓掉到地上,接着我一个很要好的同学挥霍了;从那时起,开始相信了,原来自己也可以有100块钱。 

       小学毕业的时候,自己考了全班的前列,不相信自己居然进了全县口碑最差的初中;但是,当我只收到那个中学的录取通知书时,我相信了。   

      小学,我不相信很多事情~~~初中依然不相信很多事情~~~ 

      初一的时候,不相信自己第一学期考了全校第一,轰动了整个校园,身边的人不安了:看,那个小孩居然是全校第一;拿到奖学金时,我相信了。

        初二的时候,不相信自己会写了平生的第一封情书给自己暗恋一年多的小学同桌;但是,当把情书递给我的一个好友转交给她时,我相信了。  

      初二的时候,在追她的某一天,不相信她会在我面前把我写给她的情书撕了;呵呵,当时我反应过来的时候,我相信了。

     初二的时候,不相信还会和自己追过的那个女生成为好朋友;在高一我们通了第一封信件的时候,我相信了。   

      初二当自己迷上网络游戏《传奇》的时候,不相信有那么的一天,会有自己的一台电脑;2008年四月份配了台式机之后,我相信了。 

      初三毕业的时候,不相信自己能到外地去读书;当踏进昭通市一中时,自己相信了。 

      高中的时候,依然不相信很多事情~~~~ 

      高一的时候,不相信,当年第一名的我,来到高中以后竟然变得什么也不是;第一次期中考考了全年级几百名之后,相信了,原来,比我厉害的人那么多,我不再那么骄傲;现在想来,也未必是件坏事。

      高一的时候,不相信自己能考到全班的前10名;高考之后相信了,原来,我可以考进前10名的。  

      高二的时候,不相信自己有一天能那么自如的在篮球场上运球;现在相信了。

      刚进大一的时候,我都不知道“下载”是个什么概念,相当羡慕会重装系统的同学;但现在相信了,原来我也可以懂这些东西~~

       以前,不相信自己会拥有很多东西,现在我相信会有的,至少在将来的某一天。

      从现在开始,我要相信很多事情,没错的。
 

 

Page 5 of 512345