Data Structures and Algorithms (数据结构与算法)

Undergraduate course, Zhengzhou University, School of Management Engineering, 2021

基本信息

课程名称:数据结构与算法
课程类型:本科生必修课
学时学分:48学时
教学方式:课堂讲授+上机
授课老师:周艳杰 ieyjzhou@zzu.edu.cn
助教:张志程 clarkzzzzz@foxmail.com
学生成绩评定方法:编程小作业30%,编程大作业20%,考试50%

参考教材

数据结构与算法书籍推荐

编译器与IDE

  1. Code::Blocks: a free C, C++ and Fortran IDE download
  2. Dev-C++: A free, portable, fast and simple C/C++ IDE download from sourceforge download from github
  3. Visual Studio
  4. GCC

编程小作业

郑州大学ACM-ICPC创新实验室在线评测系统 http://acm.zzu.edu.cn/

编程作业测试平台:第二章:线性表
1. 1007: C语言-最大值21. 1075: 冒泡排序计数
2. 1014: C语言-数列求和2. 1095: 字符串反转
3. 1036: C语言-字符统计23. 1199: 集装箱装载
4. 1056: A+B问题4. 1206: 装箱问题
5. 1047: C语言-数字调序5. 4465: 帮学长起队名
第三章:栈与队列第四章:树与二叉树
1. 1133: 火车出站1. 1292: dfs
2. 1234: 机器翻译2. 1212: 搜城探宝
3. 1026: C语言-插入队列3. 1296: 中、后序遍历求前序遍历
4. 4401: 军训站队4. 1134: 复原二叉树
5. 1222: 后缀表达式求值5. 1134: 复原二叉树
第五章:图第六章:查找与排序
1. 1190: 最短路1. 1044: 排序
2. 1156: 建设电力系统2. 1051: 成绩排序
3. 1154: 仓库的位置3. 1135: 赌徒
4. 1296: 中、后序遍历求前序遍历4. 1221: 查找细胞
5. 1488: 景区路线规划5. 1269: 排队打水问题

编程大作业:

使用 Branch and bound 实现 Kim and Hong (2006)论文中的 section 2求解

参考文献:

  1. Kim, K. H., & Hong, G. P. (2006). A heuristic rule for relocating blocks. Computers & Operations Research, 33(4), 940-954.

测试集:

  1. Test data set (download link)

分别实现 Brucker (1984)和Balas and Zemel (1980)中描述的0-1背包问题求解算法 (小组作业,每组不超过6人)

参考文献:

  1. Martello, S. (1990). Knapsack problems: algorithms and computer implementations. Wiley-Interscience series in discrete mathematics and optimiza tion.
  2. Brucker, P. (1984). An O (n) algorithm for quadratic knapsack problems. Operations Research Letters, 3(3), 163-166.
  3. Balas, E., & Zemel, E. (1980). An algorithm for large zero-one knapsack problems. Operations Research, 28(5), 1130-1154.

测试集:

  1. Test data set (download link)

超级玛丽源代码分析 Super Mario project source analysis (小组作业,每组不超过6人)

参考文献:

  1. Writing Super Mario Bros in C++ medium link,dev link

源代码:

  1. code download
主题主题
地图存储框架分析
…….…….

Super Mario

Leave a Comment