Lazy computation在实际应用中的妙用

举一个circular programming的简单例子:遍历二叉树。
题目描述

题目要求很简单:

用一趟遍历(包括但不限于递归),实现将二叉树中所有结点的值全部改为该二叉树中所有结点值的最小值。

传统的方法是先用一趟遍历获取最小值,再用一趟遍历将所有node的值改为这个最小值。我们这次要求完成目标,in just one pass继续阅读“Lazy computation在实际应用中的妙用”

Stanford CS140e vs ETH AOS

Stanford这门课不知道是本科生还是研究生的课,只从课程网站的信息来看,需要CS110 Principles of Computer Systems作为先修课,所以应该是默认学生已经掌握了操作系统的基本知识。粗略看了一下CS110的syllabus,基本覆盖了国内本科操作系统课程的大部分内容,所以这门CS140e应该是针对想进一步学习操作系统知识和动手开发操作系统的学生准备的,适合高年级本科生和研究生。

继续阅读“Stanford CS140e vs ETH AOS”

谈谈创新与知识结构

“I have an apple, I have a pen… Ugh! Apple Pen!”

“I have a problem, I have an idea, (?), Innovation!”

创新到底是一个怎样的过程?

从发现一个问题,并想到用某种方法解决问题,到实际解决问题,中间实际上还隔着一层“窗户纸”。对于一个问题,能够想到某个想法的人很多,但这个想法通常不能直接简单地应用到问题上面;能够捅破这层“窗户纸”,让想法从不可用变成可用的人,其实是很少的。而所谓的创新,其实并不只是想到某个想法,更重要的是“捅破窗户纸”,让这个想法变得可用、成为现实。

继续阅读“谈谈创新与知识结构”

终于还是开通了公众号

点此播放:莉莉安-宋冬野

开头放一首最近最常回荡在脑海中的民谣。

从初中开始,维护了八年多的博客,虽然至今还活着,但最近几年已经很少更新过了。没有关掉的原因,除了想靠“拥有独立博客”来装下X,也是留个念想,留段回忆,期待将来还能焕发新生吧。

越来越多的朋友都开通了自己的订阅号,不时在里面写些东西,也是颇有一番情趣。前几天火的那篇985、211的文章,且不论是否有创业团队推波助澜,都证明了微信公众号的巨大潜在影响力。昨天研究“微软小英”服务号时,对它的FAQ里的一个观点很认同:微信公众号作为一个附属平台,天生就拥有用户入口上的优势。和朋友聊微信、刷朋友圈累了,用户回到首屏,很可能就被公众号的推送再次吸引过去了。这么一想,我之前觉得公众号比独立博客不知low到哪里去了的观点也就消散了,开一个自己的公众号,还是挺有意思的,也可以作为博客的一个第二入口和展示平台,更方便地把内容呈现出来,比如同步在博客和公众号上发布文章,或只在公众号上发一个TL;DR(太长不看)版本,然后把“阅读原文”链接设为博客文章的链接,就像本文一样。

继续阅读“终于还是开通了公众号”

走下去

(哈工大国际交流协会官方微信公众号“HITers在世界”栏目约稿)

香港大学的交换生活早已结束,现在的我坐在电脑前,回忆起南方的气温,竟不知从何处下笔。按照原计划,这篇文章应该是我“读书-行路-阅人”三篇交流总结的最后一篇,可望着博客的标题栏迟疑了许久,我还是放弃了“阅人”这个标题。想想那些已经天各一方的小伙伴们,他们每个人都发着光,都是故事的主角,而我,只不过是他们故事中的一个同伴,陪着他们走过了故事的一个或精彩或平淡的章节,成功从主角那里得到了一点人生的经验,此后再也不会出场,又怎敢大谈“阅人”?思来想去,我还是决定随便写写,大家随便看看,如是而已。

继续阅读“走下去”

将01字符串转换成二进制输出到文件

今天有个学弟问我,他已经实现了哈夫曼编码,把一个字符转换成了01字符串,比如’a’=>”111″,现在要对一篇文章用哈弗曼编码压缩,也就是把每个字符都转换成01串,然后以真正的二进制形式输出到文件中,也就是说,“111”不再是三个字节(byte),而是三个二进制位(bit)。想到我上学期做软设I的时候动态哈夫曼编码最后也只是输出了01字符串,没有输出成真正的二进制,于是就顺手写了一段转换程序,算是给那个小项目做个了结吧。

继续阅读“将01字符串转换成二进制输出到文件”

Travelling As An Exchange

【哈工大国际交流协会(HICA)官方微信公众号“HITers在世界”栏目约稿】

大家好,我是2013级计算机科学试验班的杨志飞。没错,我又回来了,不知道大家还记不记得我上次分享给大家的《港大交换初体验》呢?“读书,行路,阅人”,上次,我从读书的方面介绍了我在港大的第一个月。这次,我要来分享我两个半月以来的“行路”啦~

所谓“行路”,按我的理解,其实并不仅仅指到处旅行、周游世界。行路的根本目的是“悟于实践”,只不过旅行可能是通过全方位的感受,让人最容易在各方面启悟的方式。旅游和旅行的区别,是一个用脚,一个用心。两个多月以来,我也是走过了很多地方,产生了很多思考。希望接下来的部分,传递给你的不仅有我的所见,更有我的所思所感。

继续阅读“Travelling As An Exchange”

港大交换初体验

(哈工大国际交流协会官方微信公众号“HITers在世界”栏目约稿)

Hello大家好~我是2013级计算机科学试验班的杨志飞,这学期正在香港大学交流学习。很荣幸高大上的HICA能给我这个机会来分享一下我在香港大学作为交换生,这丰富多彩的第一个月。

33_2446_9c0cd2692ac9c13

↑百周年校园的校徽墙,很多学生和游客喜欢在这儿合影~(网上盗图,侵删)

记得大一的时候听学生会主席贲放学姐讲过,她认为大学应该做的,是读书、行路、阅人无数。我对此深以为然,下面就从这几个方面,讲一下我的港大交换初体验。我不太热衷于拍照,部分图片来自网络,侵删~

继续阅读“港大交换初体验”

简单均匀Open Hashing的Search操作平均时间复杂度证明

在HKU的COMP2119 Intro to DS&A课程中的一点收获,以前学习数据结构时没有这么注意理论细节,导致今天一开始没有搞明白,现在大概清楚了,在这里记录一下。写得比较啰嗦,主要是为了容易看懂。Wordpress自带的编辑器打公式实在是太蛋疼了,以后有空要好好整理一下。

继续阅读“简单均匀Open Hashing的Search操作平均时间复杂度证明”