购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 不同情况的归纳

米尔嘉重新检查泰朵拉的笔记本。

“嗯……”

“我们通过分情况讨论求得了运行步数!”泰朵拉说。

听了泰朵拉的说明,米尔嘉轻轻合上眼睛。这时大家也都安静下来,连容易冒冒失失的泰朵拉也不出声地看着米尔嘉,而理纱——从一开始就很安静。过了一会儿,米尔嘉左右摆动着食指睁开眼睛。

“在这里——”不知为什么,米尔嘉好像很开心,“在这里,你们分情况分析了顺序查找算法。将情况分为在数列 A 中能找到 v 的情况,以及在数列 A 中无法找到 v 的情况。这没有问题。但是,我们可以将这两种情况 归纳 为一种情况。”

“将两种情况……归纳?”我有些疑惑。

泰朵拉见缝插针地举手。即便对方就在眼前,她也会举手提问。

“请、请问,归纳指的是归纳能找到 v 的情况与无法找到 v 的情况吗?”

“对。”米尔嘉说。

“但是,这两种情况下的输出也不一样,即便说要归纳也……”泰朵拉一边看着笔记本一边说。

“正因为无法归纳,才要分情况讨论的啊。”我补充道。

米尔嘉走到理纱旁边,悄声耳语几句。理纱露出一副嫌麻烦的表情,过了一会儿才在键盘上敲打起来。

“这并不是什么难以理解的问题,是这么一回事。”配合着米尔嘉的话,理纱把红色笔记本电脑的屏幕转向我们。

归纳能找到 \boldsymbol{v} 与无法找到 \boldsymbol{v} 两种情况后顺序查找算法的运行步数

“出现了新的变量 S 呢。”泰朵拉谨慎地说道。

“这是‘通过导入变量进行一般化’。”米尔嘉说,“一般化指的是将多种特殊情况归纳为一种情况。我们在这里导入变量 S ,根据两种情况,取不同的值定义该变量。”

“为什么用 S 这个字母来表示呢?”泰朵拉问。

“变量取任何名字都没问题,不过这里的 S 是‘Successful’的‘S’,表示成功找到了 v 。对应于‘在数列 A 中能找到 v ’这一命题的真与伪,变量 S 的取值分别为1比特的1与0。”

“原来如此……变量 S 的值为1时表示‘能找到 v ’, S 的值为0时表示‘无法找到 v ’。”我说。

“通过增加一个变量,可以归纳多种情况。”米尔嘉说。

“我们归纳了多种情况……换句话说,我们就能用一个式子来表示顺序查找算法的运行步数了!”我说。

泰朵拉立刻开始计算。

顺序查找算法的运行步数 9JPeRPioKEJ7eofdSjbppG3ZinIRh+h5vFZmGDU35DBfekpKtBFVL1eVAyZT3gxN

\begin{aligned}&={\rm L1+L2+L3+L4+L5+L6+L7+L8+L9+L10}\\&=1+1+(M+1-S)+M+S+0+(M-S)+(M-S)+(1-S)+1\\&=4M-3S+5\end{aligned}
点击中间区域
呼出菜单
上一章
目录
下一章
×