算法分析与设计
算法分析与设计
5000+ 人选课
更新日期:2025/05/11
开课平台智慧树
开课高校湖南中医药大学
开课教师刘伟严承李小智胡为陶家俊李鹏陈兴华
学科专业工学计算机类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
算法统治世界,算法改变未来。算法是软件的核心,算法是程序的灵魂。本课程以问题导入和实例驱动为主线,内容涵盖递归与分治、动态规划、贪心法、回溯法、分支限界法五类常用计算机算法,按照“问题描述-问题分析-算法设计-算法分析-算法实现”的步骤,结合一系列经典实例深入讲解常用算法的思想、原理和应用,引领大家进入一个兼具知识与趣味的计算机算法世界。
课程大纲

在线教程

章节简介教学计划
算法引论
登录后可预览视频
算法概述
刘伟
算法复杂度分析
刘伟
递归与分治算法
分治算法之递归概述
陈兴华
递归算法之汉诺塔问题
刘伟
分治法的基本思想
刘伟
分治法的复杂度分析
刘伟
分治算法之二分查找
刘伟
分治算法之快速排序
李鹏
动态规划
动态规划概述
刘伟
动态规划之最长公共子序列(上)
刘伟
动态规划之最长公共子序列(下)
刘伟
动态规划之最大子段和
刘伟
动态规划之最长递增子序列
刘伟
动态规划之0-1背包问题(上)
刘伟
动态规划之0-1背包问题(下)
刘伟
贪心算法
贪心算法概述
刘伟
贪心算法之活动安排问题
刘伟
贪心算法之部分背包问题
刘伟
贪心算法之最优装载问题
刘伟
贪心算法之Prim算法
刘伟
贪心算法之Dijkstra算法(上)
刘伟
贪心算法之Dijkstra算法(下)
刘伟
回溯法
回溯法基本思想
李小智
回溯法之马的遍历问题
刘伟
回溯法之N皇后问题
刘伟
回溯法之图的m着色问题
刘伟
回溯法之0-1背包问题(上)
刘伟
回溯法之0-1背包问题(下)
刘伟
分支限界法
分支限界法概述
刘伟
分支限界法之装载问题(上)
刘伟
分支限界法之装载问题(下)
刘伟
  • 第一章算法引论

    本章主要讲授算法与程序的定义和性质、如何描述算法以及如何分析算法的复杂度。

  • 1.1算法概述

    介绍算法的经典应用实例和课程的核心教学内容,学习算法与程序的定义和性质以及三种常用的描述算法的形式。

  • 1.2算法复杂度分析

    学习算法复杂性相关概念、时间复杂度分析、渐进性分析和算法复杂度表示。

  • 第二章递归与分治算法

    本章主要讲授递归的概述和特点、经典的递归实例(阶乘、Fibonacci数列和汉诺塔问题),分治法的基本思想和复杂度分析,分治算法经典实例之二分查找和快速排序。

  • 2.1分治算法之递归概述

    学习递归的定义、要素、递归树和特点,以及两个经典的递归实例:求阶乘和Fibonacci数列。

  • 2.2递归算法之汉诺塔问题

    学习汉诺塔问题的描述及其求解算法的设计、分析和实现。

  • 2.3分治法的基本思想

    学习分治法的总体思想、适用条件和基本步骤。

  • 2.4分治法的复杂度分析

    学习分治法时间复杂度递推公式的表示和公式求解(主定理)。

  • 2.5分治算法之二分查找

    学习二分查找的定义、算法设计、算法分析和算法实现。

  • 2.6分治算法之快速排序

    学习快速排序的概述、算法设计、算法实现和算法分析。

  • 第三章动态规划

    本章主要讲授动态规划算法的总体思想、基本步骤和基本要素等内容,学习如何使用动态规划算法求解最长公共子序列、最大子段和、最长递增子序列、0-1背包问题等经典问题,学习相应的动态规划求解算法的设计、分析与实现。

  • 3.1动态规划概述

    学习动态规划算法的总体思想、基本步骤、基本要素和整体结构等内容。

  • 3.2动态规划之最长公共子序列(上)

    学习最长公共子序列问题的描述以及使用动态规划求解该问题的算法设计。

  • 3.3动态规划之最长公共子序列(下)

    学习使用动态规划求解最长公共子序列问题的算法实现、分析和改进。

  • 3.4动态规划之最大子段和

    学习最大子段和问题的描述以及如何使用动态规划算法求解该问题,包括算法的设计、分析与实现。

  • 3.5动态规划之最长递增子序列

    学习最长递增子序列问题的描述以及如何使用动态规划算法求解该问题,包括算法的设计、分析与实现。

  • 3.6动态规划之0-1背包问题(上)

    学习0-1背包问题的描述以及使用动态规划求解该问题的算法设计。

  • 3.7动态规划之0-1背包问题(下)

    学习使用动态规划求解0-1背包问题的算法实现、分析和扩展。

  • 第四章贪心算法

    本章主要讲授贪心算法的定义和基本要素,学习如何使用贪心算法求解活动安排问题、部分背包问题、最优装载问题、最小生成树问题(Prim算法)和单源最短路径问题(Dijkstra算法)等经典问题,学习求解算法的设计、分析与实现。

  • 4.1贪心算法概述

    学习贪心算法的定义和基本要素,理解贪心算法与动态规划算法的差异。

  • 4.2贪心算法之活动安排问题

    学习活动安排问题的描述以及如何使用贪心算法求解该问题,包括算法的设计、实现与分析。

  • 4.3贪心算法之部分背包问题

    学习部分背包问题的描述以及如何使用贪心算法求解该问题,包括算法的设计、实现与分析。

  • 4.4贪心算法之最优装载问题

    学习最优装载问题的描述以及如何使用贪心算法求解该问题,包括算法的设计、实现与分析。

  • 4.5贪心算法之Prim算法

    学习最小生成树的定义以及如何使用Prim算法构造图的最小生成树,包括算法的设计、实现与分析。

  • 4.6贪心算法之Dijkstra算法(上)

    学习单源最短路径问题的描述以及使用Dijkstra算法计算源点到其他点的最短路径的基本思想和算法流程。

  • 4.7贪心算法之Dijkstra算法(下)

    学习使用Dijkstra算法计算源点到其他点的最短路径的实例演示、算法实现和分析。

  • 第五章回溯法

    本章主要讲授回溯法的基本思想,学习如何使用回溯法求解马的遍历问题、N皇后问题、图的m着色问题和0-1背包问题等经典问题,学习求解算法的设计、分析与实现。

  • 5.1回溯法基本思想

    学习回溯法的定义、应用步骤、剪枝函数、解空间树、关键要素、搜索框架和主要用途。

  • 5.2回溯法之马的遍历问题

    学习马的遍历问题的描述以及如何使用回溯法求解该问题,包括算法的设计与实现。

  • 5.3回溯法之N皇后问题

    学习N皇后问题的描述以及如何使用回溯法求解该问题,包括算法的设计与实现。

  • 5.4回溯法之图的m着色问题

    学习图的m着色问题的描述以及如何使用回溯法求解该问题,包括算法的设计实现和分析。

  • 5.5回溯法之0-1背包问题(上)

    学习使用回溯法求解0-1背包问题的算法设计和实现。

  • 5.6回溯法之0-1背包问题(下)

    学习使用回溯法求解0-1背包问题的算法改进和分析。

  • 第六章分支限界法

    本章主要讲授分支限界法的基本思想、实现方式、算法框架和算法特点,学习如何使用分支限界法求解装载问题,学习求解算法的设计与实现。

  • 6.1分支限界法概述

    学习分支限界法的基本思想、实现方式、算法框架和算法特点。

  • 6.2分支限界法之装载问题(上)

    学习装载问题的描述以及使用队列式分支限界法求解该问题的算法设计。

  • 6.3分支限界法之装载问题(下)

    学习使用队列式分支限界法求解装载问题的算法实现和改进。

  • 开始学习
  • 第一章  作业测试
    第一章 算法引论

    1.1 算法概述

    1.2 算法复杂度分析

    视频数2
  • 第二章  作业测试
    第二章 递归与分治算法

    2.1 分治算法之递归概述

    2.2 递归算法之汉诺塔问题

    2.3 分治法的基本思想

    2.4 分治法的复杂度分析

    2.5 分治算法之二分查找

    2.6 分治算法之快速排序

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

    3.1 动态规划概述

    3.2 动态规划之最长公共子序列(上)

    3.3 动态规划之最长公共子序列(下)

    3.4 动态规划之最大子段和

    3.5 动态规划之最长递增子序列

    3.6 动态规划之0-1背包问题(上)

    3.7 动态规划之0-1背包问题(下)

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

    4.1 贪心算法概述

    4.2 贪心算法之活动安排问题

    4.3 贪心算法之部分背包问题

    4.4 贪心算法之最优装载问题

    4.5 贪心算法之Prim算法

    4.6 贪心算法之Dijkstra算法(上)

    4.7 贪心算法之Dijkstra算法(下)

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

    5.1 回溯法基本思想

    5.2 回溯法之马的遍历问题

    5.3 回溯法之N皇后问题

    5.4 回溯法之图的m着色问题

    5.5 回溯法之0-1背包问题(上)

    5.6 回溯法之0-1背包问题(下)

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

    6.1 分支限界法概述

    6.2 分支限界法之装载问题(上)

    6.3 分支限界法之装载问题(下)

    视频数3
  • 期末考试