章節連結
從網路課程 程式必修課!離散數學與演算法 來淺嚐一下沒機會在課堂上所學的離散數學與演算法。或許對撰寫程式的效能提昇會有些幫助。
課程相關資訊
[連結]:https://hiskio.com/courses/1196/lectures/133834
本篇範圍:Chapter 9
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
給定集合 S 是定義域(Domain),有 m 個元素。集合 T 是對應域(Codomain),有 n 個元素。
函數:將每個 S 中的元素對應到 T 中的某個元素。
所有可能函數數量
對於 S 中的每一個元素,你可以任意選擇 T 中的一個元素作為對應。
因此:總函數數量= n ^ m’
One-to-One 函數數量
條件:若 𝑚 ≤ 𝑛 才有可能存在單射(每個 S 的元素對應到 不同的 T 中的元素)。
One-to-One 定義: 每個 S 中的元素對應到 T 中一個 獨特且不重複 的元素。與在 T 中選出 m 個不同的元素,然後依序對應給 S 中的 m 個元素等價。
換成排列組合問題,也就是 從 n 個元素取 m 個來排列:P(n,m)=n×(n−1)×(n−2)×⋯×(n−m+1)