離散數學與演算法 (Python, JavaScript)
超過30小時的面試必準備內容,用 Python 或JavaScript (二擇一) 來學習離散數學 - 電腦世界的數學語言 (邏輯、證明、遞迴關係、演算法、數論與密碼學、演算法分析、路徑選擇、資料結構、以及其他重要的程式開發演算法)
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的工程師
- 正在大學就讀資訊工程、電腦科學、資料科學、數學的學生
- 對於電腦科學、資訊管理、資訊工程有興趣的任何人
- 對於研究應用數學有興趣的人
- 正在準備學習演算法以及資料結構的人