離散數學與演算法 (Python, JavaScript)

超過30小時的面試必準備內容,用 Python 或JavaScript (二擇一) 來學習離散數學 - 電腦世界的數學語言 (邏輯、證明、遞迴關係、演算法、數論與密碼學、演算法分析、路徑選擇、資料結構、以及其他重要的程式開發演算法)

Ratings: 4.83 / 5.00




Description

接近30小時的面試必準備內容,是coding考試以及面試前的必學課程!!

世界上所有電腦科學、資訊工程、資料管理主修的學生,都在學習電腦科學!隨著電腦科學的飛速發展,離散數學的重要性則日益彰顯。它為許多資訊學課程提供了數學基礎,包括資料結構、演算法、資料庫理論、形式語言與作業系統等。如果沒有離散數學的相關數學基礎,學生在學習上述課程中,便會遇到較多的困難。

離散數學包含邏輯、證明、遞迴關係、演算法、數論與密碼學、演算法分析、圖形理論、路徑選擇、機率、排列組合、以及其他重要的程式開發演算法! 這堂課會深入淺出探討這些概念,並且用 Python 或JavaScript (二擇一) 來做演算法練習!


在學習這堂課之後,你將能夠:

1. 學會推導邏輯與驗證程式碼邏輯正確性。

2. 用邏輯來證明數學理論,做為資料科學的的重要演算法基礎。

3. 了解遞迴演算法與遞迴數列關係,準備好你自己回答Coding Interview面試中的問題

4. 能夠用程式碼表現出「歐幾里得演算法」、「歐拉函數」、「河內塔問題」、「最小公倍數演算法」、「斐波那契數列」、「線性遞迴關係式」、還有其他重要的演算法!

5. 學習數論與集合理論,作為學習質數與密碼學的重要演算法基礎。

6. 學習基本圖形理論,判斷圖形資料結構。

7. 學會圖形演算法,例如「Floyd-Warshall 演算法 (Dynamic Programming)」、「Dijkstra's Algorithm」、「Depth First Traversal」、「Breadth First Traversal」。

8. 計算離散架構中的排列組合,並了解機率計算方法。

9. 能夠判斷與分析不同的演算法。

10. 用 Python 或 JavaScript 來實現離散數學的演算法與架構!

What You Will Learn!

  • 數學邏輯運算與程式邏輯推演
  • 以遞迴演算法實現數學歸納法邏輯與證明
  • 使用遞迴演算法,計算遞迴函數與「線性遞迴關係式」,並用程式碼計算「斐波那契數列」
  • 學習集合理論與機率
  • 用程式碼計算排列組合以及電腦計算複雜度
  • 學習電腦科學中的圖形理論以及演算法,判斷圖形資料結構
  • 學會「歐幾里得演算法」,包括數學應用與程式碼,並應用於計算數論問題
  • 使用「歐拉函數」與在密碼學中使用
  • 用遞迴函數計算「河內塔問題」,以及找出並歸納河內塔問題公式
  • 使用Floyd-Warshall 演算法 (Dynamic Programming)解決路徑問題
  • 了解圖形演算法中的「Dijkstra's Algorithm」、「Depth First Traversal」、「Breadth First Traversal」。
  • 用 Python 或 JavaScript 來實現離散數學的演算法與架構!

Who Should Attend!

  • 對資料科學、機器學習、人工智慧有興趣的Python開發工程師
  • 對網頁前端後端有興趣,能夠使用基本JavaScript的工程師
  • 正在大學就讀資訊工程、電腦科學、資料科學、數學的學生
  • 對於電腦科學、資訊管理、資訊工程有興趣的任何人
  • 對於研究應用數學有興趣的人
  • 正在準備學習演算法以及資料結構的人