算法分析与设计

王新伟 华东师范大学 副教授

目录

  • 1 第一章 绪论
    • 1.1 本章导学
    • 1.2 第一节 算法概述
    • 1.3 本章试题
  • 2 第二章 递归与分治策略
    • 2.1 本章导学
    • 2.2 第一节 算法总体思想
    • 2.3 第二节 递归
    • 2.4 第三节 防治法
    • 2.5 本章试题
  • 3 第三章 动态规划
    • 3.1 本章导学
    • 3.2 第一节 动态规划算法的概念
    • 3.3 第二节 动态规划算法的基本步骤
    • 3.4 第三节 动态规划算法的基本要素
    • 3.5 第四节 动态规划算法设计策略
    • 3.6 本章试题
  • 4 第四章 贪心算法
    • 4.1 本章导学
    • 4.2 第一节 活动安排问题
    • 4.3 第二节 贪心算法的基本要素
    • 4.4 第三节 最优装载
    • 4.5 第四节 单源最短路径
    • 4.6 第五节 多机调度问题
    • 4.7 本章试题
  • 5 第五章 回溯法
    • 5.1 本章导学
    • 5.2 第一节 回溯法的基本思想
    • 5.3 第二节 回溯法解题的算法框架
    • 5.4 第三节 回溯法的设计策略
    • 5.5 本章试题
  • 6 第六章 分支限界法
    • 6.1 本章导学
    • 6.2 第一节 分支限界法的基本思想
    • 6.3 第二节 动态规划算法的基本步骤
    • 6.4 第三节 0-1背包问题
    • 6.5 第四节 旅行售货员问题
    • 6.6 本章试题
本章导学

算法不仅是计算机科学的一个分支,它更是计算机科学的核心。 本章介绍算法的基础知识,主要包括算法的概念、特征和基本性质。同时,介绍算法的复杂性的定义,结合实例说明如何分析算法的复杂性。 为了方便大家运用C_语言实现算法,简洁描述了C语言的相关基础知识。 

1、熟练掌握算法的基本概念;算法的特性;

2、了解程序和算法的关系;

3、掌握算法复杂性的分析方法。 

重点:

1、 算法和程序的基本概念。

2、 算法复杂性分析。

3、 复习C语言的有关知识。 

难点:

算法分析的方法。要学会针对具体的算法给出正确的复杂性表达式。

在掌握算法的基本概念的基础上,要学会使用C语言实现简单的算法,并对这些算法的复杂性给出正确的评价。 算法的复杂性分析对于评价算法的性能是至关重要的,通过本章的学习,希望学员能够掌握算法复杂性分析的概念,初步了解分析的方法。 


算法,程序,算法复杂性,算法的性质,程序的特征。