计算机科学是什么? --读书笔记

介绍了什么是计算机科学, 以及为什么说它不是科学也与计算机无关.

什么是计算机科学呢? 我们可能很容易望文生义地理解为"不就是关于计算机的科学吗? "然而一位来自 MIT 计算机系的教授认为"计算机科学"不但不是科学, 而且而且还跟计算机无关!这是怎么回事呢?

视频链接见这里.

下面我们就来分享一下他对于计算机科学的看法, 算是某种读书笔记吧, 或者更准确地说是"看视频后的笔记".

由于视频时英文的, 以下重要观点都来自教授视频中的原话, 由于没有对应中文, 意思都是我自己翻译的, 由于个人水平有限, 为保证准确, 重要观点都附上原有的英文, 如果觉得翻译有误或有值得商榷的地方, 欢迎留言.

继续阅读

递归解决换零钱问题(1)--问题分析

摘要: 用递归方式解决求换零钱种数的问题.

以下是我们的问题:

把 100 元用 50 元, 20 元, 10 元, 5 元, 1 元去换, 总共有几种换法?

形式化(formalize)

为了简化叙述, 把问题记为 coc(100, [50, 20, 10, 5, 1]).

coc: case of change 或者 count of change(change 在英文中有零钱的意思)

为使问题更具有一般性, 参数化具体值, 得到:

caseOfChange(amount, cashList)

其中 amount 为金额, cashList 为零钱列表.

继续阅读