算法设计与分析
第5次开课
开课时间: 2022年08月22日 ~ 2023年01月08日
学时安排: 4小时每周
当前开课已结束 已有 2229 人参加
老师已关闭该学期,无法查看
课程详情
课程评价(162)
spContent=我们都明白兵法对于战争的重要性, 但你清楚算法对于程序设计的重要性吗? 程序=数据结构+算法! 如果你掌握了一门计算机语言,又精通数据结构,再学习本课程,将会让你插上翅膀,在程序猿的天空自由翱翔。你想成为令人羡慕的软件(算法)工程师吗?你想参加“程序设计大赛”吗? 那都不是事!来吧,加入我们, 让我们一起开启算法学习之旅!
我们都明白兵法对于战争的重要性, 但你清楚算法对于程序设计的重要性吗? 程序=数据结构+算法! 如果你掌握了一门计算机语言,又精通数据结构,再学习本课程,将会让你插上翅膀,在程序猿的天空自由翱翔。你想成为令人羡慕的软件(算法)工程师吗?你想参加“程序设计大赛”吗? 那都不是事!来吧,加入我们, 让我们一起开启算法学习之旅!
—— 课程团队
课程概述

       算法设计与分析是高等院校计算机专业、软件工程专业等的一门重要的核心专业课程,是学习密码学、大数据处理技术、人工智能、软件工程等课程的基础。      

      程序设计能力是计算机相关专业学生的必备能力。程序=数据结构+算法,数据结构解决了描述问题的数据在计算机中的存储形式的问题, 而算法则解决了问题的求解方法和步骤。像战争要掌握兵法一样,程序设计也要掌握算法策略。本课程将讲授分治、动态规划、贪心,回溯,分支限界,概率算法等6种算法策略。即对问题进行分析,采用合适的算法策略去设计算法, 编写高效的程序去求解问题答案。通过本课程的学习,掌握问题的分析方法,包括算法复杂性的计算,各种算法策略的适应条件等,同时掌握各种不同算法策略的程序设计思路。通过大量的实例讲解,让同学们透彻理解各种算法策略的程序设计思想,提升程序设计的能力。通过各个教学环节逐步培养学生具有抽象思维能力、逻辑推理能力、空间想象能力和自学能力

 

(1)了解各种算法策略的适应条件和算法思想

(2)掌握算法分析的方法

(3)具备算法设计能力和程序设计技能

(4)抽象思维能力、逻辑推理能力、空间想象能力和自学能力


授课目标

通过教授和上机实验,使学生掌握分治、动态规划、贪心、回溯、分支限界、概率算法等算法策略的适应条件和算法原理, 具备算法设计与算法分析的能力,从而达到较高水准求解实际问题(程序设计)的能力。

课程大纲

第一章 算法概论

第一讲 初识算法

第二讲 算法概念、性质及解题流程

第三讲 算法举例

第四讲 算法的复杂性

第五讲 递归方程的求解方法

第一章 单元测试

第二章 分治法

第一讲 分治与递归

第二讲 分治法适应条件、步骤及时间复杂性分析

第三讲 快速幂算法

第四讲 Strassen 矩阵乘法

第五讲 棋盘覆盖

第六讲 合并排序

第七讲 快速排序

第八讲 线性时间选择

第九讲 循环赛日程表

第二章 单元测试

第三章 动态规划

第一讲 动态规划算法与矩阵连乘问题

第二讲 动态规划算法的基本要素

第三讲 数字塔问题

第四讲 最长公共子序列

第五讲 凸多边形最优三角剖分

第六讲 0-1背包问题

第七讲 四柱汉诺塔问题

第八讲 租赁游艇问题

第三单元测试

第四章 贪心算法

第一讲 贪心算法及活动安排问题

第二讲 贪心算法的基本要素

第三讲 最优装载

第四讲 哈夫曼编码

第五讲 单源最短路径

第六讲 最小生成树

第七讲 多机调度问题

第四单元测试

第五章 回溯法

第一讲 回溯算法思想及算法框架

第二讲 装载问题

第三讲 批处理作业调度

第四讲 符号三角形问题

第五讲 n皇后问题

第六讲 0-1背包问题

第七讲 最大团问题

第八讲 图的m着色问题

第九讲 圆排列问题

第10讲 旅行售货员问题

第11讲 回溯法效率分析及本章小结

第五章 单元测试

第六章 分支限界法

第一讲 分支限界法基本思想

第二讲 装载问题

第三讲 布线问题

第四讲 0-1背包问题

第五讲 最大团问题

第六讲 旅行售货员问题

第七讲 小结

第六单元测试

第七章 概率算法

第一讲 随机数

第二讲 数值随机化算法

第三讲 舍伍德算法

第四讲 拉斯维加斯算法

第五讲 蒙特卡洛算法

第七单元测试

第八章 NP完全性理论

NP完全性理论

第八单元测试

展开全部
预备知识

1、C或C++语言, 其他高级语言亦可

2、数据结构

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

1.《计算机算法设计与分析》 王晓东,电子工业出版社

2.《算法设计与分析》 郑宗汉  郑晓明,清华大学出版社

3.《算法设计与分析习题解答》 王晓东,清华大学出版社

4.《Introduction to the Design and Analysis of Algorithms》影印版 Anany Levitin(美) 清华大学出版社

青岛大学
6 位授课老师
张公敬

张公敬

教授

杜祥军

杜祥军

高级实验师

张舒

张舒

讲师

推荐课程

【DeepSeek适用】小白玩转AI大模型应用开发

林粒粒

196人参加

小白玩转 Python 数据分析

林粒粒

75人参加
下载
下载

下载App