现在的位置: 首页 > 综合 > 正文

课堂上的《编程之美》

2013年11月28日 ⁄ 综合 ⁄ 共 1296字 ⁄ 字号 评论关闭

摘自:http://book.douban.com/review/3254167/
本文作者(西安邮电谢勰老师)的博客地址:http://blog.csdn.net/xiexiexx 

         手里拿的是《编程之美》的一刷,是刚上市的时候买的,一直没顾得上看。觉得给学生当参考书看很不错,读了一些,发现在课堂上可以用,而且效果不错。
   有实例,有抽象,这样讲的效果可能非常不错。
  
  
   下面给出一些小小的评注,仅是抛砖引玉。
  
   1.1 让CPU占用率曲线听你指挥
   理论结合实践,非常好的一道的问题,是不是可以考虑能实现内存使用曲线呢?
  
   1.15 构造数独
   4.9 数独知多少
   可以考虑数独的求解,参考一下Dancing Links。
  
   2.1 求二进制数中1的个数
   Milo说了一些拓展:http://book.douban.com/review/3010762/
  
   2.3 寻找发帖“水王”
   这个问题是Majority问题(过半数),在Voting时比较有用,可以参考Udi Manber的Introduction to Algorithms: A Creative Approach,是一种归纳的思路。
  
   2.4 1的数目
   考虑大整数(用字符串表示)情况下的解法。
  
   2.5 寻找最大的K个数
   这道问题有Linear Selection算法。当然还可以推广到MultiSelection问题。此外,对于在外存中的海量数据,又应该如何考虑?
  
   2.10 寻找数组中的最大值和最小值
   考虑此问题的Lower Bound。
  
   2.12 快速寻找满足条件的两个数
   我最早在CLRS上见过此题。关键是解法三的证明,思路清楚了,理解起来也就方便了。
  
   2.17 数组循环移位
   这个问题有一个比较复杂的解法,就是利用“就地置换”(In-place Permutation)来做。当然,根据《编程珠玑》上的说法,要思路清晰,不要太复杂。
  
   3.2 电话号码对应英语单词
   讲点trie就更好不过了。
  
   3.4 从无头单链表中删除节点
   我个人认为这是一道“屠龙”题。
  
   3.10 分层遍历二叉树
   在讲树的层序遍历时候可以用。一般采用BFS的标准思路,即利用队列来完成。此问题还可以用于求解决杨辉三角。《编程之美》给出了多种思路,要是这样再总结一下,学生对此问题应该非常清楚了。
  
   4.6 桶中取黑白球
   经典的咖啡罐问题,可以考虑一般情况,是理解循环不变量的一个非常好的例子。
  
   一直以来,我总希望能够有一个wiki性质的网站,能够对许多编程问题给出非常深入的解析,给出广泛的参考文献。比如说,目前有许多ICPC的试题,但都没有一个公开的平台来讨论问题。其实有的问题说出来引发更多的讨论,更有利于学习和提高。特别是有一些看上去非常不起眼的题目,可能有非常优美的解决思路,但人们常常就把它忽略了。这也是学术讨论存在的理由。
   也许,《编程之美》可以作为其发轫。

——————————————
《编程之美》,IT
人求职面试必读

《编程之美》豆瓣主页

《编程之美》互动网购买链接

抱歉!评论已关闭.