算法设计与分析
算法设计与分析
1000+ 人选课
更新日期:2025/06/23
开课平台智慧树
开课高校山东科技大学
开课教师张鹏刘伟沙静张福新栾文静王路
学科专业理学数学类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
算法是软件的核心,是程序的灵魂。我们处于计算机应用日新月异的时代,算法起到主导作用。本课程主要内容包括算法分析技术、分治策略、动态规划、贪心法、回溯与分支限界、NP完全性、近似算法、处理难解问题的策略等。按照“问题描述-问题分析-算法设计-算法分析-算法实现”的步骤,结合一系列经典实例深入讲解常用算法的思想、原理和应用。 本课程旨在培养学生“时间高效和空间高效地”解决实际问题思维习惯和动手能力,提高学生的算法修养。养成算法思维,贯通程序设计技巧,对今后工作及研究均有极大助益。 算法改变世界,你的改变从学习算法开始!
课程大纲

在线教程

章节简介教学计划
算法概述
登录后可预览视频
算法与程序
张鹏
如何对算法进行分析与衡量
张鹏
如何估算算法的时间复杂度
张鹏
NP完全性理论
张鹏
递归与分治策略
递归的概念
张福新
分治法的基本思想
分治法的基本思想(一)
张福新
分治法的基本思想(二)
张福新
二分搜索技术
张福新
大整数的乘法
张福新
棋盘覆盖
王路
合并排序
王路
快速排序
王路
线性时间选择
张福新
最接近点对问题
张福新
循环赛日程表
张福新
动态规划
动态规划简介
张鹏
矩阵连乘问题
张鹏
动态规划算法的基本要素
张鹏
最长公共子序列
王路
最大子段和
王路
图像压缩
张鹏
流水作业调度
张鹏
0-1背包问题
张鹏
0-1背包问题的阶跃性
张鹏
贪心算法
活动安排问题
沙静
贪心算法的基本要素
沙静
最优装载
沙静
哈夫曼编码
沙静
单源最短路径
沙静
最小生成树
沙静
多机调度问题
沙静
回溯法
回溯法的算法框架
回溯法的基本思想
刘伟
0-1背包问题示例
刘伟
旅行售货员问题示例
刘伟
剪枝函数类型、递归回溯与迭代回溯
刘伟
子集树、排列树与搜索框架
刘伟
装载问题
装载问题定义,解与解空间树
刘伟
装载问题的约束函数与带约束函数的搜索算法
刘伟
装载问题的上界函数,带约束和上界函数的搜索算法,最优解的构造
刘伟
批处理作业调度
批处理作业调度问题解空间与剪枝函数
刘伟
批处理作业调度问题回溯法求解C++语言描述
刘伟
符号三角形问题
张鹏
n后问题
张鹏
0-1背包问题
0-1背包问题解空间与剪枝函数
刘伟
0-1背包问题回溯法求解C++语言描述
刘伟
图的m着色问题
图的m着色问题解空间与剪枝函数
刘伟
图的m着色问题回溯法求解C++语言描述
刘伟
旅行售货员问题
旅行售货员问题解空间与剪枝函数
刘伟
旅行售货员问题回溯法求解C++语言描述
刘伟
回溯法的效率分析
张鹏
分支限界法
分支限界法的基本思想
栾文静
单源最短路径问题
栾文静
装载问题
栾文静
0-1背包问题
栾文静
旅行售货员问题
栾文静
  • 第一章算法概述

    算法概述

  • 1.1算法与程序

    算法与程序

  • 1.2如何对算法进行分析与衡量

    如何对算法进行分析与衡量

  • 1.3如何估算算法的时间复杂度

    如何估算算法的时间复杂度

  • 1.4NP完全性理论

    NP完全性理论

  • 第二章递归与分治策略

    递归与分治策略

  • 2.1递归的概念

    递归的概念

  • 2.2分治法的基本思想

    分治法的基本思想

  • 2.3二分搜索技术

    二分搜索技术

  • 2.4大整数的乘法

    大整数的乘法

  • 2.5棋盘覆盖

    棋盘覆盖

  • 2.6合并排序

    合并排序

  • 2.7快速排序

    快速排序

  • 2.8线性时间选择

    线性时间选择

  • 2.9最接近点对问题

    最接近点对问题

  • 2.10循环赛日程表

    循环赛日程表

  • 第三章动态规划

    动态规划

  • 3.1动态规划简介

    动态规划简介

  • 3.2矩阵连乘问题

    矩阵连乘问题

  • 3.3动态规划算法的基本要素

    动态规划算法的基本要素

  • 3.4最长公共子序列

    最长公共子序列

  • 3.5最大子段和

    最大子段和

  • 3.6图像压缩

    图像压缩

  • 3.7流水作业调度

    流水作业调度

  • 3.80-1背包问题

    0-1背包问题

  • 3.90-1背包问题的阶跃性

    0-1背包问题的阶跃性

  • 第四章贪心算法

    贪心算法

  • 4.1活动安排问题

    活动安排问题

  • 4.2贪心算法的基本要素

    贪心算法的基本要素

  • 4.3最优装载

    最优装载

  • 4.4哈夫曼编码

    哈夫曼编码

  • 4.5单源最短路径

    单源最短路径

  • 4.6最小生成树

    最小生成树

  • 4.7多机调度问题

    多机调度问题

  • 第五章回溯法

    回溯法

  • 5.1回溯法的算法框架

    回溯法的算法框架

  • 5.2装载问题

    装载问题

  • 5.3批处理作业调度

    批处理作业调度

  • 5.4符号三角形问题

    符号三角形问题

  • 5.5n后问题

    n后问题

  • 5.60-1背包问题

    0-1背包问题

  • 5.7图的m着色问题

    图的m着色问题

  • 5.8旅行售货员问题

    旅行售货员问题

  • 5.9回溯法的效率分析

    回溯法的效率分析

  • 第六章分支限界法

    分支限界法

  • 6.1分支限界法的基本思想

    分支限界法的基本思想

  • 6.2单源最短路径问题

    单源最短路径问题

  • 6.3装载问题

    装载问题

  • 6.40-1背包问题

    0-1背包问题

  • 6.5旅行售货员问题

    旅行售货员问题

  • 开始学习
  • 第一章  作业测试
    第一章 算法概述

    1.1 算法与程序

    1.2 如何对算法进行分析与衡量

    1.3 如何估算算法的时间复杂度

    1.4 NP完全性理论

    视频数4
  • 第二章  作业测试
    第二章 递归与分治策略

    2.1 递归的概念

    2.2 分治法的基本思想

    2.3 二分搜索技术

    2.4 大整数的乘法

    2.5 棋盘覆盖

    2.6 合并排序

    2.7 快速排序

    2.8 线性时间选择

    2.9 最接近点对问题

    2.10 循环赛日程表

    视频数11
  • 第三章  作业测试
    第三章 动态规划

    3.1 动态规划简介

    3.2 矩阵连乘问题

    3.3 动态规划算法的基本要素

    3.4 最长公共子序列

    3.5 最大子段和

    3.6 图像压缩

    3.7 流水作业调度

    3.8 0-1背包问题

    3.9 0-1背包问题的阶跃性

    视频数9
  • 第四章  作业测试
    第四章 贪心算法

    4.1 活动安排问题

    4.2 贪心算法的基本要素

    4.3 最优装载

    4.4 哈夫曼编码

    4.5 单源最短路径

    4.6 最小生成树

    4.7 多机调度问题

    视频数7
  • 第五章  作业测试
    第五章 回溯法

    5.1 回溯法的算法框架

    5.2 装载问题

    5.3 批处理作业调度

    5.4 符号三角形问题

    5.5 n后问题

    5.6 0-1背包问题

    5.7 图的m着色问题

    5.8 旅行售货员问题

    5.9 回溯法的效率分析

    视频数19
  • 第六章  作业测试
    第六章 分支限界法

    6.1 分支限界法的基本思想

    6.2 单源最短路径问题

    6.3 装载问题

    6.4 0-1背包问题

    6.5 旅行售货员问题

    视频数5
  • 期末考试