本课程分成4部分:
第一部分:
(1)通过侦探破案的引人入胜的故事,在破案过程中采用多种问题求解方法,从而意识到如何在生活工作中运用数据结构与算法进行问题求解。
(2)借助故事理解算法,然后介绍如何描述算法,通过raptor流程图设计算法,最后通过python将流程图转换为程序。
(3)本课程的学习不限制编程语言,重点讲授了如何将raptor描述的算法步骤转换为python代码实现。通常一个问题采用raptor转换为python语言实现后,还会分析python语言结构特点,采用更多的方法编程实现。通过这种方法,理解python数据结构背后的实现原理,了解python更多的语言特性,重点是学会提出问题->寻找求解问题的方法(算法)->算法描述->算法流程图描述详细设计步骤->代码实现的过程。
第二部分:python的各种模块应用(持续更新中,下面是已经上传的内容)
(1)pandas读写和操作excel进行问题求解
(2)正则表达式re简介
(3) pygame游戏开发
第三部分:python的高级应用
(1)常用包简介(numpy,scipy,pandas,matplot,network)
(2)机器学习
(3)深度学习
第四部分 利用学术资源解决算法问题
第一章 绪论(4学时)
1.1 课程简介
1.2 raptor流程图
1.3 python简介及编程
1.4 2019年-学生的特色作品1
1.4 2019年-学生的特色作品2
1.5 2020年-学生特色作品-爬虫,机器学习与神经网络
1.5 2020年-学生特色作品-游戏
1.5 2020年-学生特色作品-其他
1.6 2021年-学生特色作品
1.7 2022年-学生特色作品
第二章 穷举搜索问题(2学时)
2.1 故事:案件回顾
2.2 穷举搜索
2.3 故事:寻找Billy
2.4 穷举搜索操作与编程实现
第二章 测验
第二章 编程作业
第三章 字符串与数组(2学时)
3.1 数组
3.2 字符串
第三章 测验
第三章 编程作业
第四章 二分搜索与递归(4学时)
4.1 二分搜索
4.2 递归
4.3 圆二分搜索
第四章 测验
第四章 编程作业(更正)
第五章 广度优先搜索与队列
5.1 广度优先搜索
5.2 队列与 广度优先搜索求最短路径的实现
第五章 编程作业
第六章 深度优先搜索与栈
6.1 深度优先搜索与栈
6.2 栈与队列
第六章 测验
第六章 编程作业
第七章 并行算法,迭代加深与逆向索引
7.1 并行算法
7.2 迭代加深
7.3 逆向索引
7.4 作业提示
第七章 测验
第七章 编程作业
第八章 二叉搜索树
8.1 二叉搜索树的定义与查找
8.2 二叉搜索树的实现
8.3 有序数组构造二叉搜索树
8.4 二叉搜索树的区间查找
8.5 二叉搜索树的插入
8.6 trie树
第八章 测验
第八章 编程作业
第九章 最佳搜索与堆
9.1 最佳搜索
9.2 优先队列
9.3 堆
9.4 大结局
9.5 总结
第九章 测验
第九章 编程作业
第二部分 python应用
1-pandas操作excel
2-正则表达式re简介
3-pygame游戏开发(老师讲解,持续更新中)
4-神经网络及应用1(学生展示)
5-爬虫(学生展示)
6-数据分析(学生展示)
7-pyQt进行游戏开发-俄罗斯方块(学生展示)
8-pygame进行游戏开发2-雷霆战警(学生展示)
第三部分 高级应用1
10.1 python的包
10.2 numpy包
10.3 scipy包
10.4 pandas包
10.5 mapplot包
10.6 networkx包
第三部分 高级应用2
1. 机器学习概要
2.scikit-learn包介绍
3. 回归预测和SVM
第三部分 高级应用3
12.1 深度学习概要
12.2 PyTorch包介绍
12.3 MNIST分类
第四部分 利用学术资源解决算法问题
13.1 常见问题
13.2 文献分类
13.3 信息检索流程