離散數學講些什麼內容?在電腦科學有什麼應用?該怎麼學好?

時間 2021-05-06 22:13:40

1樓:聆夜

離散數學是每個成為演算法工程師的前置mod。

《離散數學及其應用》把所有例題理解,後面的習題理解個80%(裡面關於生物、化學等的邏輯例題看不懂就算了,直接跳過),你就已經擊敗9成同專業人了。

2樓:6161

正在學習離散數學。感覺除了圖論以外,別的部分都沒啥用,建議圖論方面用心學,對演算法理解幫助挺大,別的部分,沒成績要求就60分萬歲吧

3樓:

其實我一直不理解為什麼會有人認為離散數學難。做學生的時候閉著眼睛拿了個a。後來做了2年離散數學的助教,3年組合數學的助教,又帶了2年離散數學的課,依然無法理解為什麼會有人抓破腦袋也想不出題目怎麼做……

4樓:

舉個例子吧,曾經有道題要求乙個很大的組合數C(就m個物體裡面取n個有多少種取法那個組合數),由於結果非常大要求輸出關於某個質數取模後的結果。

組合數大家都會算C(n,m) = m!/(m-n)!/n!

,乘法簡單邊算邊取模就好了永遠不會越界,但是你要怎麼實現這個除法呢?分子分母分別取模後再除顯然是不對的比如5!/4!

% 7 = 5, (5!%7)/(4!%7)=1/3。

所以要怎麼辦呢總不能寫個高精度除法來做吧?

這時候離散數學就可以派上用場了,因為最終答案要關於素數取模,就相當於定義了乙個關於乘法的群,而群裡每個元素都有自己的逆元,除的效果實際上就相當於乘該數的逆元,舉例子,因為4*2%7==1所以在關於7取模時2就是4的逆元,那麼120 / 4 % 7 == (120%7) * 2 % 7 == 1*2 % 7 = 2。所以只要我們提前計算出了所有數的逆元,在需要除的時候通過乘逆元再取模就能避免除法算出最終的結果了。

關於逆元是怎麼算的,有很多的方法,比較簡單的是利用尤拉小定理,當n為質數時,a^(n-1) == 1 (mod n),那麼a^(n-2) % n就是a的逆元,而a^b有快速冪演算法可以在lg(b)的時間內算出。

5樓:Mineek

離散數學主要包括數理邏輯,集合論,代數結構與圖論。

1.現實世界大多數物體是離散的。

現實世界存在的東西大多數是離散的,連續是為了測量現實世界經過思維抽象出來的數學。

2.離散數學把現實世界的問題變成可以自動計算的數學問題。

現實問題經過數理邏輯的方法變成邏輯問題,邏輯問題經過形式化方法變成代數問題。邏輯問題首先是通過集合方法變成關係運算,通過函式方式變成代數問題,進而代數中特殊的圖論問題。

就是這樣現實問題通過數理邏輯,集合論,代數系統與圖論一步一步變成計算機自動計算的問題。

6樓:梓川咲太

Readings | Mathematics for Computer Science | Electrical Engineering and Computer Science | MIT OpenCourseWare

看看目錄大概就懂了!

7樓:貪財好色的俗人

想讀計算機,但是又不想成為碼農,找個公司混完自己的下半輩子,思前慮後覺得還是多學點理論,這樣自己應該就能走到更遠,更隨自己的心,最近閒了下來,想學一點計算機的知識,聽說機器學習裡面涉及比較多的數學,今天看了一會覺得自己數學還是太差,碰巧看到了離散數學,想學一下離散數學,剛剛在coursera上找到了上交的離散數學的公開課,配合著《離散數學及其應用》學習。不過我覺得吧,難道計算機的理論就只有數學嗎?不過數學應該算是大頭吧

8樓:

包括六部分,數理邏輯,集合論,代數結構,組合數學,圖論,初等數論。

用在計算機領域的建模與分析,實際上在其他如自然科學,工程技術,經濟管理都有應用。

在計算機領域嘛,比如說人工智慧方面的深度優化,廣度優先和圖論,邏輯方面幫你理解某些演算法有幫助的。怎麼學嗎,這個我還沒研究過,應該要好好學,用心學吧。哈哈哈

9樓:LLPHP

離散的重要性很多人已經說了,我就講點小花邊吧。Discrete Mathematics and Functional Programming這門課結合了離散和FP的內容,如果你一定要邊做邊學感受離(F)散(P)的魅力,牆裂推薦。

10樓:布客飛龍

現在公認的一本優秀教材是 離散數學及其應用(原書第7版) (豆瓣)主要包含下面這幾部分:

集合論數理邏輯

組合數學

複雜性理論

關係代數

圖論概率論

布林代數

你說它重要不重要?

11樓:吳洋

計算機的計算,儲存都是離散的,然而我們最常接觸的是連續的,離散數學不僅讓你認識計算機,也讓你體會另一種思想。

另外也用高度抽象方法進行研究,使結論具有很強的普適性。

群環域等在密碼學中應用很多。

12樓:凱旋

有什麼用我還不了解,在這裡談談怎麼學吧。注重定理的證明過程和定理的運用,特別是圖論那一塊,注重定理的運用和實際情景相結合。

13樓:

前面的回答大多偏向數論、圖論、演算法和複雜度相關的,我覺得另外乙個非常重要的是數理邏輯相關的知識,偏CS方向應用的比如命題邏輯,一階謂詞邏輯,模態邏輯,時態邏輯,lambda演算,pi演算,直覺主義邏輯等等,是很多形式化方法比如形式證明、模型驗證,以及程式語言理論等方面的重要基礎。

14樓:

離散數學裡的東西在純數學裡屬於元數學到代數這一層級,每乙個部分都可以擴充套件出一門艱深的理論,比如數理邏輯、數論、群論等。計算機專業的學生要用,分開單獨講又太深,所以並到一起,稱為「離散數學」。

15樓:毛草

一切演算法的基礎都是離散數學

一切加密的理論基礎都是離散數學

程式設計時候很多奇怪的小技巧(特別是所有和位計算相關的東西)核心也是離散數學

非常重要,非常重要,非常重要。

16樓:

現如今,我學的離散數學在程式程式設計上的應用就是正規表示式。主要是邏輯思維的訓練,很有用的。

如何學?我當時就是把老師布置得問題做了做。多做些題鍛鍊一下就好了。

離散數學中的閉包和計算機語言中的閉包有聯絡嗎?

賀師俊 根據Wikipedia條目 http en.wikipedia.org wiki Closure computer science History and etymology 尤其是註解4 5 6,可知計算機語言中的clourse用法是P.J.Landin發明的,意思其實就是closed e...

數學基礎課在計算機領域的應用有哪些?

Qian Chen 補充乙個。拓撲在model checking 裡面的應用,因為可以在BUCHI automata上構造乙個topology然後證出各種性質。 Htedsv 我暫且粗淺的把能應用於電腦科學的數學分為兩部分 1.離散 包括抽象代數 拓撲學,主要應用於對基礎理論的研究,即從數學衍生出電...

數學在電腦科學中佔據什麼樣的地位?

菜鳥的觀點 俺們老師說過,大型IT團隊裡,薪酬最多的是利用數學工具做架構的。另外,學校裡安排招聘會的時候,最容易得到offer的往往是對數學研究比較深的學霸,而不是整天在程式海洋裡遨遊的程式猿。 hu keqiu 所有工科到達PhD level以後,全是數學,沒有別的。TAOCP,CLRS只是CS裡...