① 演算法導論 編譯原理 離散數學 數據結構與演算法分析 閱讀順序
操作系統,計算機組成原理,計算機網路…像語言方面的書也要的,C,C++,java等等…計算機方面的書很多的…由簡單到復雜,是一個很漫長的過程…想好好學就要讀懂讀透它,這樣知識才是你的…
② 離散數學計算層次怎麼算出3層4層的! 說詳細點! 噴子勿噴!求大神回答!
離散數學2:基本概念
公式層次:單個的命題變項A是0層公式。
如果A是n層公式,B是m層公式,那麼¬A是n+1層公式;C=A∧B,C=A∨B,C=A→B,C=A↔B的層次是:max(n,m)+1。
比如(¬(p→¬q) ∧((r∨s) ↔¬q)的層次計算就是:
0 1 0 0 1
2 1 1
3 2
4
4層公式
設p1,p2,p3…pn是公式A中的全部與命題變項,那麼給它們各指定一個真值,這就是A的一個賦值/解釋。若使A=1,則是成真賦值,否則就是成假賦值。
所以含有n(n≥1)個命題變項的公式有2n個不同賦值。
真值表:把命題公式A在所有賦值下取值情況列成的表。
例:寫出(¬p∧q)→¬r的真值表,並求它的成真賦值和成假賦值。
(2)離散數學及演算法曹曉東擴展閱讀:
學科內容
1.集合論部分:集合及其運算、二元關系與函數、自然數及自然數集、集合的基數
2.圖論部分:圖的基本概念、歐拉圖與哈密頓圖、樹、圖的矩陣表示、平面圖、圖著色、支配集、覆蓋集、獨立集與匹配、帶權圖及其應用
3.代數結構部分:代數系統的基本概念、半群與獨異點、群、環與域、格與布爾代數
4.組合數學部分:組合存在性定理、基本的計數公式、組合計數方法、組合計數定理
5.數理邏輯部分:命題邏輯、一階謂詞演算、消解原理
離散數學是傳統的邏輯學,集合論(包括函數),數論基礎,演算法設計,組合分析,離散概率,關系理論,圖論與樹,抽象代數(包括代數系統,群、環、域等),布爾代數,計算模型(語言與自動機)等匯集起來的一門綜合學科。離散數學的應用遍及現代科學技術的諸多領域。
離散數學也可以說是計算機科學的基礎核心學科,在離散數學中的有一個著名的典型例子-四色定理又稱四色猜想,這是世界近代三大數學難題之一。
它是在1852年,由英國的一名繪圖員弗南西斯·格思里提出的,他在進行地圖著色時,發現了一個現象,「每幅地圖都可以僅用四種顏色著色,並且共同邊界的國家都可以被著上不同的顏色」。
那麼這能否從數學上進行證明呢?100多年後的1976年,肯尼斯·阿佩爾(Kenneth Appel)和沃爾夫岡·哈肯(Wolfgang Haken)使用計算機輔助計算,用了1200個小時和100億次的判斷,終於證明了四色定理,轟動世界,這就是離散數學與計算機科學相互協作的結果。
離散數學可以看成是構築在數學和計算機科學之間的橋梁,因為離散數學既離不開集合論、圖論等數學知識,又和計算機科學中的資料庫理論、數據結構等相關,它可以引導人們進入計算機科學的思維領域,促進了計算機科學的發展。
③ 離散數學及演算法 機械工業出版社 曹曉東著 課後習題答案 [email protected]
iotuotgy89\
④ 高數中的離散數學主要講的是什麼怎麼學簡單一些
離散數學簡介 離散數學是現代數學的一個重要分支,也是計算機科學與技術的理論基礎。離散數學是計算機專業課程的基礎,是數據結構、編譯原理、程序設計語言、資料庫原理、操作系統、人工智慧、演算法分析與設計等課程必不可少的前行課程。通過對離散數學的學習,不僅使學生掌握進一步學習其他課程所必需的離散量的結構及其相互關系的數學知識,同時還培養了學生的抽象思維能力和嚴密的邏輯推理能力,另外還增強了學生使用學過的離散數學知識進行分析和解決問題的能力。 離散數學包括數理邏輯、集合論、代數結構、圖論、形式語言、自動機和計算幾何等。本課程主要介紹其中的數理邏輯和集合論部分。 數理邏輯是研究推理邏輯規則的一個數學分支,它採用數學符號化的方法,給出推理規則來建立推理體系。進而討論推理體系的一致性、可靠性和完備(全)性等。數理邏輯的研究內容是兩個演算加四論,具體為命題演算、謂詞演算、集合論、模型論、遞歸論和證明論。數理邏輯是形式邏輯與數學相結合的產物。但數理邏輯研究的是各學科(包括數學)共同遵從的一般性的邏輯規律,而各門學科只研究自身的具體規律。 集合論可看作數理邏輯的一個分支,也是現代數學的一個獨立分支,它是各個數學分支的共同語言和基礎。集合論是關於無窮集和超窮集的數學理論。古代數學家就已接觸到無窮概念,但對無窮的本質缺乏認識。為微積分尋求嚴密的基礎促使實數集結構的研究,早期的工作都與數集或函數集相關聯。集合論已在計算機科學、人工智慧學科、邏輯學、經濟學、語言學和心理學等方面起著重要的應用。
⑤ 離散數學 給定集合S={A1,A2……,An}的覆蓋,如何才能確定此覆蓋的相容關系
相容關系是具有自反對稱性的關系,集合S的任何一個覆蓋X均能確定一個相容關系,反之也然。
X={S1,S2……,Sk}是集合S={A1,A2……,An}上的覆蓋,則由此覆蓋確定的S上的相容關系是
(S1*S1)U(S2*S2)U…U(Sk*Sk)
其中Sk*Sk是S的子集Sk的笛卡爾積。
如X={{1,2},{2,3}}是S={1,2,3}的覆蓋,則此覆蓋確定的S上相容關系是
{1,2}*{1,2}U{2,3}*{2,3}={<1,1>,<1,2>,<2,1>,<2,2>,<2,3>,<3,2>,<3,3>}
⑥ 《離散數學》課程講什麼內容
離散數學是研究離散對象(量)的數學,粗略地來講,所謂「離散」就是不「連續」的、「可分離」的,比如自然數、書本、人等等,實數則是連續的。用集合論的術語來說,離散對象就是這樣的對象:其全體所構成的集合是有限或可數的。
離散數學課程是計算機專業的核心課程之一,為許多後繼課程(如數據結構、操作系統、資料庫原理、軟體工程、演算法設計與分析、系統結構、網路原理)提供了必要的數學基礎和工具,且其學習過程還為提高分析問題和解決問題的能力提供了一條有效的途徑,從而為今後的學習和工作打下堅實的基礎。
本課程涉及四個數學分支:集合論、數理邏輯、圖論和組合數學,主要介紹這些數學分支的基本框架、基礎知識、基本思想和方法,內容的取捨和講授方法充分考慮了計算機專業學生的特點和需要,展示了離散數學在計算機科學中的應用,強調基本概念、基本方法和能力培養。
⑦ 離散數學{a,b}*上的*是什麼意思
出自:曹曉東,史哲文.《離散數學與演算法》第二版.機械工業出版社
⑧ 離散數學演算法
設要排序的數組是A[0]……A[N-1],首先任意選取一個數據(通常選用第一個數據)作為關鍵數據,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。值得注意的是,快速排序不是一種穩定的排序演算法,也就是說,多個相同的值的相對位置也許會在演算法結束時產生變動。 一趟快速排序的演算法是: 1)設置兩個變數I、J,排序開始的時候:I=0,J=N-1; 2)以第一個數組元素作為關鍵數據,賦值給key,即 key=A[0]; 3)從J開始向前搜索,即由後開始向前搜索(J=J-1),找到第一個小於key的值A[J],並與A[I]交換; 4)從I開始向後搜索,即由前開始向後搜索(I=I+1),找到第一個大於key的A[I],與A[J]交換; 5)重復第3、4、5步,直到 I=J; (3,4步是在程序中沒找到時候j=j-1,i=i+1,直至找到為止。找到並交換的時候i, j指針位置不變。另外當i=j這過程一定正好是i+或j-完成的最後另循環結束) 例如:待排序的數組A的值分別是:(初始關鍵數據:X=49) 注意關鍵X永遠不變,永遠是和X進行比較,無論在什麼位子,最後的目的就是把X放在中間,小的放前面大的放後面。 A[0] 、 A[1]、 A[2]、 A[3]、 A[4]、 A[5]、 A[6]: 49 38 65 97 76 13 27 進行第一次交換後: 27 38 65 97 76 13 49 ( 按照演算法的第三步從後面開始找) 進行第二次交換後: 27 38 49 97 76 13 65 ( 按照演算法的第四步從前面開始找>X的值,65>49,兩者交換,此時:I=3 ) 進行第三次交換後: 27 38 13 97 76 49 65 ( 按照演算法的第五步將又一次執行演算法的第三步從後開始找 進行第四次交換後: 27 38 13 49 76 97 65 ( 按照演算法的第四步從前面開始找大於X的值,97>49,兩者交換,此時:I=4,J=6 ) 此時再執行第三步的時候就發現I=J,從而結束一趟快速排序,那麼經過一趟快速排序之後的結果是:27 38 13 49 76 97 65,即所以大於49的數全部在49的後面,所以小於49的數全部在49的前面。 快速排序就是遞歸調用此過程——在以49為中點分割這個數據序列,分別對前面一部分和後面一部分進行類似的快速排序,從而完成全部數據序列的快速排序,最後把此數據序列變成一個有序的序列,根據這種思想對於上述數組A的快速排序的全過程如圖6所示: 初始狀態 {49 38 65 97 76 13 27} 進行一次快速排序之後劃分為 {27 38 13} 49 {76 97 65} 分別對前後兩部分進行快速排序 {27 38 13} 經第三步和第四步交換後變成 {13 27 38} 完成排序。 {76 97 65} 經第三步和第四步交換後變成 {65 76 97} 完成排序。 圖示
記得採納啊