Feynman Technique 费曼技巧

什么是费曼技巧

费曼技巧是一种以教促学的学习方法。

适用的学习内容

适用于概念和概念应用的学习
例如XXX是什么,怎么使用XXX。

应用场景

  1. 学习一个新的或者是你不是很明白的想法或概念,
  2. 记住一个你已经明白的想法或者概念。
  3. 用于考试学习,快速深入理解一个想法或者概念,并转化成长期记忆。

步骤

  1. 选择一个新概念

  2. 假装你在教授这个概念给学生。

  3. 无论什么时候卡壳,立刻查资料,直达通顺。

  4. 最后简化表达,适当使用类比。

实例

1.理解扭矩

扭矩是一种转动的力

想象一个扳手,正在转动一个螺帽 ,左转松,右转紧 。

2. 理解递归

这里学习资料,来自维基百科:递归

在方法中使用方法本身,同时不断缩小问题规模,直至小到我们知道怎么解决。

比如吃苹果

吃苹果的方法: 拿一个苹果削皮切块用牙签吃。

吃苹果的方法已经知道,用递归吃100个苹果的方法是什么?

先从100个苹果拿1个苹果放一边,想剩下99个怎么吃?然后再把1个苹果放一边,想剩下98个怎么吃?最终问题将变成1个苹果怎么吃?而你吃1个苹果的方法已经知道了!

问题已经从吃100个苹果的问题,变成吃99个苹果的问题,最后变成吃1个苹果的问题。

下面用代码表示递归吃苹果。

function eatApples($n)
{
    echo "I am goint to eat $n apples\n";

    //n>1个苹果的吃法不知道,缩小问题规模,直到变成n=1个苹果的问题
    if ($n > 1) {

        eatApples($n - 1);

        // n-1个苹果的方法
        echo "I have eaten $n apples so far\n";

    //n=1个苹果的吃法已经知道
    } else {

        echo "I have eaten  1 apple so far\n";
    }

}

如果不理解,可以在看看下面示例。

经典递归示例 - 阶乘

n = 0, fact(n) =1

n > 0, n *fact(n-1)

function f($n)
{
    if($n == 0)
    {
        return 1;
    } else
    {
        return $n * f($n-1);
    }

}

你可能感兴趣的:(Feynman Technique 费曼技巧)