计算机程序设计入门课程主要是讲授语法基础和基本算法,这些知识对于解决实际问题往往有些力不从心。 而"算法设计与问题求解" 是一门提高型的计算机程序设计课程,其目的就是为了提高学生编程解决实际问题的能力。
本课程内容涉及数学问题、数据结构、算法策略(贪心、动态规划)、智能计算(神经计算等)等方面。数据结构、算法策略是经典计算机算法的内容,而智能计算则是近年来流行的解决问题的一类算法。两者结合可以使得学生更好的了解算法的方方面面。本课程对于算法思路的讲解通俗易懂,可以使学生迅速掌握算法的要点。
使学生具备一定的数据结构、算法策略、智能计算等方面的知识,提高学生编程解决实际问题的能力。
1. 完成课程所有的学习内容、视频、课件等;
2. 完成所有的在线练习(单元测验),占总成绩50%;
3. 参加期末考试,考试成绩占总成绩50%;
通过视频学习,完成练习、编程题和期末考试,并积极参与讨论,60分-79分为合格,80分及以上为优秀。
达到课程要求后,需主动申请,获得证书。
1. 绪论
1.1 课程整体安排
1.2 算法的概念
1.3 算法设计的要求
1.4 从C到C++
本周PPT课件
本章练习
2. 若干数学问题的编程
2.1 数论相关问题
2.2 数论相关问题--筛法
2.3 多项式乘法和除法(1)
2.4 多项式乘法和除法(2)
2.5 多项式插值问题
本周PPT课件
单元测验
3. 若干数学问题的编程-续
3.1 非线性方程求解
3.2 线性方程组求解
本周PPT课件
单元测验
4 线性数据结构(1)
4.1 数据结构的基本概念
4.2 线性表
4.3 线性链表
本周PPT课件
单元测验
5 线性数据结构(2)
5.1 栈
5.2 队列
5.3 标准模板库
本周PPT课件
单元测验
6 树与二叉树
6.1 树和二叉树概念
6.2 二叉树生成
6.3 二叉树遍历(1)
6.4 二叉树遍历(2)
6.5 哈夫曼树
6.6 哈夫曼树编程实现
本周PPT课件
单元测验
7 图
7.1 图结构
7.2 图的遍历
本周PPT课件
单元测验
8 贪心算法
8.1 贪心算法概念
8.2 贪心算法--活动安排问题
8.3 贪心算法--马踏棋盘
本周PPT课件
单元测验
变通版的活动安排问题
9 动态规划
9.1 动态规划的基本思想
9.2 挖金矿问题
9.3 0-1背包问题
9.4 最长公共子序列
本周PPT课件
国王和金矿问题
10 图结构经典问题
10.1 最短路径问题的算法
10.2 最短路径问题编程要点
10.3 最小生成树算法
10.4 最小生成树实现要点
本周PPT课件
10.5 扩展学习 “基于A*算法的迷宫游戏开发”
最小生成树
11 遗传算法概要
11.1 遗传算法的概念
11.2 遗传算法的设计
本周PPT课件
单元测验
12 神经计算
12.1 函数最值问题
12.2 人工神经网络简介
本周PPT课件
大学计算机基础、C语言基础
参考书 :
[1] 赵英良 仇国巍等. C++程序设计教程. 清华大学出版社,2013.8. ISBN 978-7-302-33057-8
[2] 赵英良 仇国巍等. 软件开发技术基础(第2版). 机械工业出版社,2009.4. ISBN 9787111265320
[3] 王晓东. 计算机算法设计与分析(第4版). 电子工业出版社.2012.2. ISBN 9787121158391
[4] Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest / Clifford Stein著.算法导论(原书第3版). 机械工业出版社, 2012.12. ISBN: 9787111407010
[5] Andries.P.Engelbrecht著. 谭营等译. 计算智能导论. 清华大学出版社.2010.6. ISBN9787302222057