習題 錯排問題

2021-09-25 15:17:21 字數 688 閱讀 4981

十本不同的書放在書架上。現重新擺放,使每本書都不在原來放的位置。有幾種擺法?

這個問題推廣一下,就是錯排問題,是組合數學中的問題之一。考慮乙個有n個元素的排列,若乙個排列中所有的元素都不在自己原來的位置上,那麼這樣的排列就稱為原排列的乙個錯排。

問題分析

要使每本書都不在原來放的位置,現在假設有n本書,n本書的錯排記為d(n),n-1本書的錯排記為d(n-1),依次類推。初識位置與書的編號相同。

第一步,任取一本書,編號為n,根據題意要求,不能放在位置n上,其它位置任意,則一共有n-1種方法。假設把書放在位置k上,拿出原本放在位置k上的書。

第二步,現在放編號為k的書,這時有兩種情況:

把它放到位置n上,那麼,就相當於把原本放在位置n和k的書交換了位置。現在剩下了n-2本書,n-2本書的錯排為d(n-2)。因此結合第一步,我們可以得到第一種情況總共有(n-1)*d(n-2)種方法。

不把它放到位置n上,這時,對於這n-1本書,有d(n-1)種方法。結合第一步,第二種情況共有(n-1)*d(n-1)種方法。

綜上得到

遞推公式為:d(n) = (n-1)* [d(n-2) + d(n-1)]

特殊地,d(1) = 0, d(2) = 1。

演算法 錯排問題

錯排問題 就是一種遞推式,不過它比較著名且常用,所以要熟記!方法一 n各有序的元素應有n!種不同的排列。如若乙個排列式的所有的元素都不在原來的位置上,則稱這個排列為錯排。任給乙個n,求出1,2,n的錯排個數dn共有多少個。遞迴關係式為 d n n 1 d n 1 d n 2 d 1 0,d 2 1 ...

演算法 錯排問題

今天我們再來學習乙個比較簡單的演算法,今天我們學習的是錯排問題,什麼是錯排問題呢?這樣說吧,假如現在書架上放有10本書,每本書都有固定的位置,現在讓你重新排列這些書,讓新排好的每一本書都不在原來的位置問你有多少種排列的情況。假如我們用num陣列來代表可能的情況,那麼我們容易知道num 1 0,num...

錯排問題詳解

n個有序的元素應有n 個不同的排列,如若乙個排列使得所有的元素不在原來的位置上,則稱這個排列為錯排 有的叫重排。錯排公式 遞推關係 為求其遞推關係,分兩步走 第一步,考慮第n個元素,把它放在某乙個位置,比如位置k,一共有n 1種放法 第二步,考慮第k個元素,這時有兩種情況 1 把它放到位置n,那麼對...