《算法競賽與編程實踐》課程通過對與競賽相關的計算機算法的學習和研究,全面掌握和完善算法的知識體系,為獨立設計算法和對算法進行復雜性分析奠定堅實的理論基礎。同時,算法思維和編程能力可以在分析解決問題的過程中,培養學生抽象思維和縝密概括的能力,提高學生的軟件開發能力。內容包括子集生成和組合問題、BFS、八數碼問題和狀態圖搜索、A*算法、雙向廣搜、回溯與剪枝、迭代加深搜索、IDA*、二叉搜索樹、Treap樹、Splay樹、線段樹、樹狀樹組、基礎DP、區間DP、樹形DP、數位DP、狀態壓縮DP、數論、組合數學、公平組合游戲、圖論(有向圖的連通性算法、最短路算法、最大流算法、最小費用最大流)、計算幾何等內容。