離散數學問題的面向對象建模與求解

周曉聰,陳武輝

  • 離散數學問題的面向對象建模與求解-preview-1
  • 離散數學問題的面向對象建模與求解-preview-2
  • 離散數學問題的面向對象建模與求解-preview-3
  • 離散數學問題的面向對象建模與求解-preview-4
  • 離散數學問題的面向對象建模與求解-preview-5
  • 離散數學問題的面向對象建模與求解-preview-6
  • 離散數學問題的面向對象建模與求解-preview-7
離散數學問題的面向對象建模與求解-preview-1

商品描述

"本書面向“新工科”建設背景下普通高等學校的計算機類專業和軟件工程專業的本科生,作為我們編著的《離散數學基礎》(ISBN:978-7-302-57667-9清華大學出版社2021年5月出版)的輔助教材,以培養學生離散建模基礎能力為目標,運用面向對象建模方法對離散數學知識進行建模,並探討如何通過編寫計算機程序實現模型和求解離散數學問題。   本書建模和求解的離散數學問題:①命題邏輯公式語法分析、真值表構造、範式的計算、等值演算與推理論證的驗證;②集合和關系的計算、關系性質的判斷、關系閉包的計算和函數性質的判斷;③字符串計數對象的枚舉、滿足整除性質的整數枚舉、不定方程非負整數解的枚舉和排列組合的生成;④圖和樹的遍歷、帶權圖的最短路徑和最小生成樹計算,以及哈夫曼樹的構造;⑤代數運算性質的判斷,兩種特殊群的子群及其陪集、商群的計算,以及格的判斷與計算。對這些問題,在用例分析和領域實體建模的基礎上,設計類的主要屬性和方法,使用類圖描述類之間的關系,並使用偽碼描述其中的關鍵算法。在實現階段給出了類的主要方法的描述,以及關鍵方法的源代碼實現,並給出問題求解的輸入輸出界面。   本書對上述問題的建模與求解,可作為面向對象建模的典型案例,為“程序設計”“軟件工程”等課程提供程序設計與軟件開發的實用範例。本書可作為“離散數學”“程序設計”“軟件工程”等課程的軟件設計與開發實驗參考書。 "

目錄大綱

目錄

第1 章概述................................................................................ 1

1.1 離散數學問題的計算機求解.................................................... 1

1.2 離散數學問題的面向對象建模................................................. 3

1.3 離散數學問題求解軟件的界面設計與實現................................ 7

1.4 本章小結............................................................................. 14

第2 章命題邏輯知識的建模與問題求解............................................. 15

2.1 需要求解的命題邏輯問題概述............................................... 15

2.2 命題邏輯問題求解的需求建模............................................... 16

2.2.1 用例分析與建模........................................................ 16

2.2.2 領域實體分析與建模................................................. 23

2.3 命題邏輯問題求解的概要設計............................................... 27

2.3.1 命題邏輯公式語法分析部分類的設計.......................... 28

2.3.2 命題邏輯公式真值計算部分類的設計.......................... 31

2.3.3 命題邏輯等值演算與範式部分類的設計....................... 34

2.3.4 命題邏輯推理論證判斷部分類的設計.......................... 37

2.3.5 命題邏輯問題求解部分類概要設計小結....................... 39

2.4 命題邏輯問題求解的詳細設計............................................... 41

2.4.1 類Formula 及其子類的詳細設計................................. 41

2.4.2 類FormulaTruthTable 的詳細設計............................. 43

2.4.3 類FormulaASTGraph 的詳細設計................................ 45

2.4.4 範式類的詳細設計..................................................... 46

2.4.5 類NormalFormulaCalculator 的詳細設計.................. 48

2.4.6 類EquivCalculusChecker 的詳細設計....................... 52

2.4.7 類ReasonArgumentChecker 的詳細設計...................... 52

2.4.8 類FormulaBuilder 的詳細設計.................................. 53

2.4.9 命題邏輯問題求解部分詳細設計小結.......................... 57

2.5 命題邏輯問題求解的實現..................................................... 58

2.5.1 命題邏輯公式語法分析的實現........................................................ 58

2.5.2 命題邏輯公式真值計算問題求解的實現........................................... 67

2.5.3 命題邏輯公式範式計算問題求解的實現........................................... 73

2.5.4 命題邏輯等值演算正確性檢查問題求解的實現................................. 88

2.5.5 命題邏輯推理論證正確性判斷問題求解的實現................................. 91

2.6 命題邏輯問題建模與求解小結.............................................................. 96

第3 章集合關系函數知識的建模與問題求解.................................................... 98

3.1 集合關系函數問題求解的需求建模........................................................ 98

3.1.1 用例分析與建模........................................................................ 98

3.1.2 領域實體分析與建模................................................................100

3.2 集合關系函數問題求解的設計........................................................... 101

3.2.1 求解集合基本運算問題的類設計.................................................... 101

3.2.2 求解關系問題的類設計................................................................. 102

3.2.3 求解函數性質判斷問題的類設計.................................................... 106

3.3 集合關系函數問題求解的實現........................................................... 107

3.3.1 集合基本運算問題求解的實現....................................................... 107

3.3.2 關系基本運算問題求解的實現....................................................... 110

3.3.3 關系性質判斷問題求解的實現....................................................... 112

3.3.4 關系閉包計算問題求解的實現....................................................... 114

3.3.5 等價關系計算問題求解的實現....................................................... 117

3.3.6 偏序關系計算問題的求解.............................................................. 119

3.3.7 函數性質判斷問題求解的實現....................................................... 125

3.4 集合關系函數問題建模與求解小結.................................................... 128

第4 章組合計數知識的建模與問題求解........................................................ 129

4.1 組合計數問題求解的需求建模......................................................... 129

4.1.1 離散數學中的組合計數問題概述.................................................... 129

4.1.2 用例分析與建模.............................................................. 131

4.1.3 領域實體分析與建模........................................................ 134

4.2 組合計數對象枚舉的設計.............................................................. 138

4.2.1 字符串枚舉相關類的設計.............................................................. 138

4.2.2 排列組合生成相關類的設計.......................................................... 140

4.2.3 基於整除性質的整數枚舉相關類的設計.......................................... 142

4.2.4 不定方程非負數整數解枚舉相關類的設計...................................... 143

4.3 組合計數對象枚舉的實現........................................................... 144

4.3.1 字符串枚舉的實現........................................................... 145

4.3.2 整數枚舉的實現................................................................. 149

4.3.3 不定方程非負整數解枚舉的實現.................................................... 151

4.3.4 排列組合生成算法展示的實現....................................................... 154

4.4 組合計數問題建模與求解小結.................................................... 158

第5 章圖和樹知識的建模與問題求解........................................................ 159

5.1 圖和樹問題求解的需求建模.......................................................... 159

5.1.1 用例分析與建模........................................................... 159

5.1.2 領域實體分析與建模...................................................... 164

5.2 圖和樹問題求解的設計............................................................. 166

5.2.1 展示圖遍歷算法的類設計.............................................................. 166

5.2.2 展示樹遍歷算法的類設計.............................................................. 170

5.2.3 展示帶權圖算法的類設計.............................................................. 170

5.2.4 展示哈夫曼樹構造的類設計.......................................................... 174

5.3 圖和樹問題求解的實現............................................................... 177

5.3.1 圖遍歷算法展示的實現................................................................. 177

5.3.2 樹遍歷算法展示的實現................................................................. 182

5.3.3 帶權圖最短路徑和最小生成樹算法展示的實現................................ 186

5.3.4 哈夫曼樹構造算法展示的實現....................................................... 193

5.4 圖和樹問題建模與求解小結.......................................................... 198

第6 章代數結構知識的建模與問題求解...................................................... 199

6.1 代數結構問題求解的需求建模........................................................ 199

6.1.1 用例分析與建模.............................................................. 199

6.1.2 領域實體分析與建模....................................................... 201

6.2 代數結構問題求解的設計.......................................................... 202

6.2.1 運算性質判斷的類設計............................................................. 202

6.2.2 U(m) 群及其子群與陪集計算的類設計........................................... 204

6.2.3 置換群及其子群與陪集計算的類設計............................................. 207

6.2.4 格判斷與計算的類設計................................................................. 210

6.3 代數結構問題求解的實現........................................................... 213

6.3.1 運算性質判斷的實現....................................................... 213

6.3.2 U(m) 群及其子群與陪集計算的實現.............................................. 217

6.3.3 置換群及其子群與陪集計算的實現................................................ 223

6.3.4 格的判斷與計算的實現................................................................. 229

6.4 代數結構問題建模與求解小結....................................................... 234

參考文獻............................................................................... 235