沒有學會走路就想跑是學習的大忌


去年去登了好幾次紫金山。紫金山的登山道有很多條,大人帶小孩走南邊的緩坡上山大約需要5-6公里,想健身的可以走北邊的陡坡登頂,大約2公里即可登頂。如果想欣賞不同的沿途景色,那可以每次換一條道上山。登山如此,學習亦如此。目標很重要,過程也同樣重要。

最近給小朋友講下面這個問題:

小明家在A地,學校在C地,每天他都想走不完全相同的路去學校,但他又不想多走路,請問他從家到學校最多有多少條不同的最短路可以走?

沒有學會走路就想跑是學習的大忌


有些學過的小朋友脫口而出:標數法。確實,標數法是解決這一問題的利器。但當我讓他們不用標數而去枚舉時,有些就枚舉不全了。

在這裡,我想闡明一個觀點:沒有學會走路就想跑是學習的大忌,容易摔跤!

就以這個例子為例,我們先來看看走路和跑步分別是怎麼解決問題的。


方法一:枚舉

很多人學了高級的技巧後覺得枚舉太低端,這其實不對。從枚舉的過程中去有所發現,然後去挖掘更便捷的做法,這一過程才是至關重要的。

很多登山的捷徑也是在登山的過程中被發現的。

回到這個問題,枚舉並不容易,需要有非常強的有序思維能力。如果你覺得我誇張了,那不妨設想一下給你的是10×10的格子。

從A到C,我們可以向右走和向下走。我們可以規定一個規則,比如能向右就向右,不能向右再向下。如果沒有一個規則的指引,並嚴格按照這個規則行事,那很容易就會遺漏或重複。

有了這個以後,我們可以進行如下枚舉:

右右右下下下

右右下右下下

右右下下右下

右右下下下右

右下右右下下

右下右下右下

右下右下下右

右下下右右下

右下下右下右

右下下下右右

這樣,一開始朝右走的有10種。在這個問題裡,開始朝右和開始朝下是對稱的。在枚舉的過程中,我們要善於發現問題本身所具有的對稱性,充分利用對稱性來簡化枚舉過程。在這個問題裡,一開始朝下走的也是10種,因此一共有20種方法。

方法二:映射

如果說用右、下還容易搞錯,那不妨分別用1和2來代表右和下,那麼上面的一個走法就對應了一個用1和2組成的六位數,這樣按照數從小到大排列,就可以降低出錯的可能性,如下:

111222

112122

112212

112221

121122

121212

121221

122112

122121

122211

同樣基於對稱性,我們知道2開頭的也有10個,因此一共有20個。這種做法實際上對第一種方法做了一點抽象,從而讓我們可以利用數的大小和字典序來幫助我們捋清順序關係。

方法三:組合法

在上面的過程中,如果進一步觀察,就會發現實際上這些6位數都有一個相同的特點,就是1和2分別有3個。那如果我任意選擇3位放上1,剩下3位放上2,那麼就等價於在3個1的位置向右走,而在3個2的位置向下走。反過來,任何一種走法都對應了這麼一種組合。因此我們的問題就轉化為:

在6個位置中任意選3個,有多少種選法?

學過排列組合的就知道,選法數有:6×5×4÷(3×2×1)=20種。這個做法,是不是有點在登山中發現捷徑的味道呢?

方法四:標數法

所謂標數法,是一種“術”, 實則是逆向思維與加法原理的運用。我們不僅僅要掌握解決問題的“術”,更要理解解法背後的“道”。

沒有學會走路就想跑是學習的大忌


我們要到達C,前面一步可以從H或I到達。從H和I到C都只有一種走法。因此:

到C的最短路徑條數=到H的最短路徑條數+到I的最短路徑條數

類似地,再往回推:

到H的最短路徑條數=到E的最短路徑條數+到F的最短路徑條數

到I的最短路徑條數= 到G的最短路徑條數+到F的最短路徑條數

按照這個一直回推,我們只要知道最初的一步的最短路徑條數,就可以利用加法原理求出後面的所有節點的最短路徑條數。逆向思維,正向求解,從而有了下面的從左上角逐步往右下角走的標數法,結果當然也是20種。

沒有學會走路就想跑是學習的大忌


當然,標數法在解決這類問題裡有一個優點,就是可以解決並非上面這種規則圖形的最短路徑條數。類似於下面這種,上面的一些做法就無能為力了。掌握方法所適用的場合,有時比掌握方法本身更重要。

沒有學會走路就想跑是學習的大忌


昍爸,計算機博士,曾獲初中和高中全國數學奧林匹克聯賽一等獎,江蘇賽區第一名,高考數學滿分。現為大學計算機專業教授,平時注重提升孩子的數學和計算思維。此公眾號將伴隨昍昍的成長,分享寓教於樂、學以致用的數學與計算思維教育方式。



分享到:


相關文章: