從網路課程 程式必修課!離散數學與演算法 來淺嚐一下沒機會在課堂上所學的離散數學與演算法。或許對撰寫程式的效能提昇會有些幫助。
課程相關資訊
[連結]:https://hiskio.com/courses/1196/lectures/133836
本篇範圍:Chapter 9
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
給定集合 S 是定義域(Domain),有 m 個元素。集合 T 是對應域(Codomain),有 n 個元素。
函數:將每個 S 中的元素對應到 T 中的某個元素。
Permutation 函數數量
由於 S 和 T 集合內的元素數量必須相同,且也要滿足 one-to-one 和 onto ( a.k.a. bijective ) 函式,所以會有 n! 個
Dearrangement 函數數量
所有元素都不能映射到自己本身,即 𝑓 ( 𝑖 ) ≠ 𝑖 , i ∈S
想法: 全部 – ( Mapping 自己的聯集 )