《枕边算法书》阅读笔记

    前些天买了一本新书《枕边算法书》([韩] 林栢濬 著;崔盛一 译,人民邮电出版社,2018),也是想作为睡前读物看看。看了一个晚上,确实如书名所言,文章主要以作者的经历,写的比较贴近程序员生活,不像传统的一些算法或编程书比较刻板。这么写的优点是作者通过自己的经历,从自身角度出发,通过一个个实际遇到的小问题小故事,写得生动有趣。当然,也有缺点,因为从自身出发,所以有些想法很主观,对现在的国内开发者,并不一定完全合适。

   先说说看了第一章前几节的一些共鸣:对自己编写的代码进行单元测试,是“必须”的,而非“可选”环节。这点我深有感触,不能因为赶进度,自己都不测试一下就把代码提交,至少在团队协作中,每个人要对自己编写的代码负责,这确实是工作态度问题。大部分情况下,查找bug是考验韧劲和注意力的过程,与奇思妙想或精妙构思相比,查找bug更多地需要毅力。经常调试别人的代码时提高编程能力的捷径之一。这点我非常同意,因为我自身工作的原因,经常要对别人的代码进行二次开发,而这个过程可以学到很多技巧。而即使有遇到不明白的地方,由于工作原因,也会迫使自己去学习,或者去请教相关的知识。

    而一些作者主观的内容,也很明显,也可能和作者国籍有关,有些我甚至觉得太为难自己。第一章里作者就几次通宵熬夜,这种不放弃的毅力值得学习,但我不支持常年加班熬夜,身体健康更为重要,毕竟“活着才能写出代码”。而他的另一个观点,“不能再承诺时间内完成任务的人,压根算不上是程序员”,我想了下,也许他是没遇到过需求一天变三变的产品经理吧。此外,作者觉得想“一下子”解开算法问题的都只是编程菜鸟,“高手”应该是一步一步向着最终目标前进的。我觉得,真正的高手才是那种“灵光一闪”,然后“一下子”解决问题的人,一步一步按部就班解决问题并不一定是“高手”,但是可以说是“阅历丰富”,至少很稳健。比如小学生做数学题:8x134,按部就班的学生会列“竖式”进行一步一步按位乘法计算,真正的高手会是8x134=8x(125+9)=1000+72=1072. 此外,作者觉得有纸笔的情况下,3分钟以内应该能解开爱因斯坦的那道逻辑题。我才疏学浅,开了个excel表记录,花了大概5分钟解开了。这种谜题如同作者所言像查找bug时找凌乱的线头,其实毅力更为重要,大家不用纠结是3分钟,还是5分钟。另外我想说的是,好记性不如烂笔头,借助工具可以让你更有效地提高效率。

接下去分享一下昨天看到的几个趣题,确实不错。

1. 一个岛上有N个和尚,红眼睛是被诅咒过的,如果知道自己是红眼睛,当晚就会自裁。但是他们规定,不能告诉别人或者问别人自己的眼睛颜色,岛上也没有镜子或其他可以看到自己眼睛颜色的条件。直到有一天,一个游客来玩,说了一句:你们之中至少有一人是红眼睛。接下去岛上发生了可怕的事。 这个故事最终从递归角度来讲,解释了所有情况,浅显易懂。

2. 大家要习惯写“防御型代码”,增加代码的健壮性。作者用了个很通俗易懂的例子来说明了Java中常见的NullPointerException,一道数学题:假设a=b, 那么a平方 = ab,a平方-b平方=ab-b平方,(a-b)(a+b)=b(a-b),a+b=b,b+b=b,2b=b,2=1。实际编程中经常遇到这种类似的看起来很低级的错误,因此需要写“防御型代码”规避类似的“低级错误”。

3.挑战一下自己,用Java或其他编程语言编写一段代码,内容是输出这段代码本身。

4. 爱因斯坦的那道逻辑题:五个国家的人住在5栋屋子里,彼此爱好不同的饮料、香烟,养不同的宠物。①英国人住红房子。②瑞典人养狗。③丹麦人喝茶。④绿房子紧邻在白房子左侧。⑤绿房子主人喝咖啡。⑥抽“长红”牌香烟的人养鸟。⑦黄房子主人抽“登喜路”牌香烟。⑧正中央房子的主人喝牛奶。⑨挪威人住在最左侧房屋。⑩抽Blends牌香烟的人住在养猫人隔壁。⑪养马人住在抽“登喜路”牌香烟的人隔壁。⑫抽Bluemaster牌香烟的人喝啤酒。⑬德国人抽Prince牌香烟。⑭挪威人和蓝房子主人相邻。⑮抽Blends牌香烟的人与喝矿泉水的人是邻居。问:谁养鸟?  

这道逻辑题我正好身边没纸笔,借助了excel,感觉和做数独差不多,线索还是很线性很明显的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容