𝔖 Scriptorium
✦   LIBER   ✦

📁

算法设计与分析(第2版)/高等学校数据结构课程系列教材


Publisher
清华大学出版社
Tongue
Chinese
Leaves
459
Edition
2
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Table of Contents


第1章 概论
1.1 算法的概念
1.1.1 什么是算法
1.1.2 算法描述
1.1.3 算法和数据结构
1.1.4 算法设计的基本步骤
1.2 算法分析
1.2.1 算法时间复杂度分析
1.2.2 算法空间复杂度分析
1.3 算法设计工具——STL
1.3.1 STL概述
1.3.2 常用的STL容器
1.3.3 STL在算法设计中的应用
1.4 练习题
1.5 上机实验题
1.6 在线编程题
第2章 递归算法设计技术
2.1 什么是递归
2.1.1 递归的定义
2.1.2 何时使用递归
2.1.3 递归模型
2.1.4 递归算法的执行过程
2.2 递归算法设计
2.2.1 递归与数学归纳法
2.2.2 递归算法设计的一般步骤
2.2.3 递归数据结构及其递归算法设计
2.2.4 基于归纳思想的递归算法设计
2.3 递归算法设计示例
2.3.1 简单选择排序和冒泡排序
2.3.2 求解n皇后问题
2.4 递归算法转化为非递归算法
2.4.1 用循环结构替代递归过程
2.4.2 用栈消除递归过程
2.5 递推式的计算
2.5.1 用特征方程求解递归方程
2.5.2 用递归树求解递归方程
2.5.3 用主方法求解递归方程
2.6 练习题
2.7 上机实验题
2.8 在线编程题
第3章 分治法
3.1 分治法概述
3.1.1 分治法的设计思想
3.1.2 分治法的求解过程
3.2 求解排序问题
3.2.1 快速排序
3.2.2 归并排序
3.3 求解查找问题
3.3.1 查找最大和次大元素
3.3.2 折半查找
3.3.3 寻找一个序列中第k小的元素
3.3.4 寻找两个等长有序序列的中位数
3.4 求解组合问题
3.4.1 求解最大连续子序列和问题
3.4.2 求解棋盘覆盖问题
3.4.3 求解循环日程安排问题
3.5 求解大整数乘法和矩阵乘法问题
3.5.1 求解大整数乘法问题
3.5.2 求解矩阵乘法问题
3.6 并行计算简介
3.6.1 并行计算概述
3.6.2 并行计算模型
3.6.3 快速排序的并行算法
3.7 练习题
3.8 上机实验题
3.9 在线编程题
第4章 蛮力法
4.1 蛮力法概述
4.2 蛮力法的基本应用
4.2.1 采用直接穷举思路的一般格式
4.2.2 简单选择排序和冒泡排序
4.2.3 字符串匹配
4.2.4 求解最大连续子序列和问题
4.2.5 求解幂集问题
4.2.6 求解简单0/1背包问题
4.2.7 求解全排列问题
4.2.8 求解任务分配问题
4.3 递归在蛮力法中的应用
4.3.1 用递归方法求解幂集问题
4.3.2 用递归方法求解全排列问题
4.3.3 用递归方法求解组合问题
4.4 图的深度优先和广度优先遍历
4.4.1 图的存储结构
4.4.2 深度优先遍历
4.4.3 广度优先遍历
4.4.4 求解迷宫问题
4.5 练习题
4.6 上机实验题
4.7 在线编程题
第5章 回溯法
5.1 回溯法概述
5.1.1 问题的解空间
5.1.2 什么是回溯法
5.1.3 回溯法的算法框架及其应用
5.1.4 回溯法与深度优先遍历的异同
5.1.5 回溯法的时间分析
5.2 求解0/1背包问题
5.3 求解装载问题
5.3.1 求解简单装载问题
5.3.2 求解复杂装载问题
5.4 求解子集和问题
5.4.1 求子集和问题的解
5.4.2 判断子集和问题是否存在解
5.5 求解n皇后问题
5.6 求解图的m着色问题
5.7 求解任务分配问题
5.8 求解活动安排问题
5.9 求解流水作业调度问题
5.10 练习题
5.11 上机实验题
5.12 在线编程题
第6章 分枝限界法
6.1 分枝限界法概述
6.1.1 什么是分枝限界法
6.1.2 分枝限界法的设计思想
6.1.3 分枝限界法的时间性能
6.2 求解0/1背包问题
6.2.1 采用队列式分枝限界法求解
6.2.2 采用优先队列式分枝限界法求解
6.3 求解图的单源最短路径
6.3.1 采用队列式分枝限界法求解
6.3.2 采用优先队列式分枝限界法求解
6.4 求解任务分配问题
6.5 求解流水作业调度问题
6.6 练习题
6.7 上机实验题
6.8 在线编程题
第7章 贪心法
7.1 贪心法概述
7.1.1 什么是贪心法
7.1.2 用贪心法求解的问题应具有的性质
7.1.3 贪心法的一般求解过程
7.2 求解活动安排问题
7.3 求解背包问题
7.4 求解最优装载问题
7.5 求解田忌赛马问题
7.6 求解多机调度问题
7.7 哈夫曼编码
7.8 求解流水作业调度问题
7.9 练习题
7.10 上机实验题
7.11 在线编程题
第8章 动态规划
8.1 动态规划概述
8.1.1 从求解斐波那契数列看动态规划法
8.1.2 动态规划的原理
8.1.3 动态规划求解的基本步骤
8.1.4 动态规划与其他方法的比较
8.2 求解整数拆分问题
8.3 求解最大连续子序列和问题
8.4 求解三角形最小路径问题
8.5 求解最长公共子序列问题
8.6 求解最长递增子序列问题
8.7 求解编辑距离问题
8.8 求解0/1背包问题
8.9 求解完全背包问题
8.10 求解资源分配问题
8.11 求解会议安排问题
8.12 滚动数组
8.12.1 什么是滚动数组
8.12.2 用滚动数组求解0/1背包问题
8.13 练习题
8.14 上机实验题
8.15 在线编程题
第9章 图算法设计
9.1 求图的最小生成树
9.1.1 最小生成树的概念
9.1.2 用普里姆算法构造最小生成树
9.1.3 克鲁斯卡尔算法
9.2 求图的最短路径
9.2.1 狄克斯特拉算法
9.2.2 贝尔曼-福特算法
9.2.3 SPFA算法
9.2.4 弗洛伊德算法
9.3 求解旅行商问题
9.3.1 旅行商问题描述
9.3.2 采用蛮力法求解TSP问题
9.3.3 采用动态规划求解TSP问题
9.3.4 采用回溯法求解TSP问题
9.3.5 采用分枝限界法求解TSP问题
9.3.6 采用贪心法求解TSP问题
9.4 网络流
9.4.1 相关概念
9.4.2 求最大流
9.4.3 割集与割量
9.4.4 求最小费用最大流
9.5 练习题
9.6 上机实验题
9.7 在线编程题
第10章 计算几何
10.1 向量运算
10.1.1 向量的基本运算
10.1.2 判断一个点是否在一个矩形内
10.1.3 判断一个点是否在一条线段上
10.1.4 判断两条线段是否平行
10.1.5 判断两条线段是否相交
10.1.6 判断一个点是否在多边形内
10.1.7 求3个点构成的三角形的面积
10.1.8 求一个多边形的面积
10.2 求解凸包问题
10.2.1 礼品包裹算法
10.2.2 Graham扫描算法
10.3 求解最近点对问题
10.3.1 用蛮力法求最近点对
10.3.2 用分治法求最近点对
10.4 求解最远点对问题
10.4.1 用蛮力法求最远点对
10.4.2 用旋转卡壳法求最远点对
10.5 练习题
10.6 上机实验题
10.7 在线编程题
第11章 计算复杂性理论简介
11.1 计算模型
11.1.1 求解问题的分类
11.1.2 图灵机模型
11.2 P类和NP类问题
11.3 NPC问题
11.4 练习题
第12章 概率算法和近似算法
12.1 概率算法
12.1.1 什么是概率算法
12.1.2 蒙特卡罗类型概率算法
12.1.3 拉斯维加斯类型概率算法
12.1.4 舍伍德类型概率算法
12.2 近似算法
12.2.1 什么是近似算法
12.2.2 求解旅行商问题的近似算法
12.3 练习题
12.4 上机实验题
12.5 在线编程题
附录A 书中部分算法清单
参考文献


📜 SIMILAR VOLUMES


Python数据结构与算法分析(第2版)
✍ 布拉德利·米勒; 戴维·拉努姆 📂 Library 📅 2019 🏛 人民邮电出版社 🌐 Chinese

了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。

Python数据结构与算法分析(第2版)
✍ 布拉德利·米勒; 戴维·拉努姆 📂 Library 📅 2019 🏛 人民邮电出版社 🌐 Chinese

<p>了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。</p>

数据结构与算法分析: C++描述(第三版)
✍ [美] Mark Allen Weiss / 张怀勇 📂 Library 📅 2007年 🏛 人民邮电出版社 🌐 Chinese

<p>《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课程可以使用《数据结构与算法分析:C++描述(第3版)》第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。</p>

算法设计与分析 第2版
✍ 黄宇 📂 Library 📅 2020 🏛 机械工业出版社 🌐 Chinese

本书是作者在多年从事算法设计与分析课程教学和研究的基础上编写而成,系统地介绍了算法设计与分析的理论、方法和技术。内容围绕两条主线来组织。一条主线是介绍典范性的算法问题,如排序、选择、图遍历等。 另一条主线是介绍典范性的算法设计分析策略,如分治、贪心、动态规划等算法设计策略和对手分析、平摊分析等算法分析策略。本书中两条主线交替进行,每条主线又各自分为基本和进阶两部分。 已附上书签

算法设计与分析(第2版)
✍ 屈婉玲; 刘田; 张立昂; 王捍贫 📂 Library 📅 2016 🏛 清华大学出版社 🌐 Chinese

<p>本书为计算机类专业核心课程“算法设计与分析”教材. 全书以算法设计技术和分析方法为主线来组织各知识单元. 主要内容包括基础知识、分治策略、动态规划、贪心法、回溯与分支限界、线性规划、网络流算法、算法分析与问题的计算复杂度、NP完全性、近似算法、随机算法、处理难解问题的策略等. 力求突出对问题本身的分析和求解方法的阐述,从问题建模、算法设计与分析、改进措施等方面给出适当的建议,同时也简要介绍了计算复杂性理论的核心内容和处理难解问题的一些新技术.</p>