算法设计与分析

算法设计与分析

立即阅读
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

带你理解算法核心的问题。算法描述采用伪码,突出对问题本身的分析和求解方法的阐述。

内容简介

本书以程序设计作为基础,数据结构作为工具,六大核心算法作为目标,系统地介绍了算法设计中典型问题的求解过程。

全书内容包括算法设计基础、递归算法、分治算法、贪心算法、动态规划算法、回溯算法、分支限界算法、实验指导。六大核心算法后都配有典型问题的C++代码,并结合实验指导辅助读者进行算法实践训练。

作者简介

作者张晓霞,祖籍山东淄博,1972生于四川武胜。1995年毕业于苏州丝绸工学院美术系染织专业。2001年于苏州大学艺术学院获设计艺术学硕士学位,同年留校任教。2005年于苏州大学艺术学院获设计艺术学博士学位。现任苏州大学艺术学院教授、硕士研究生导师,主要从事染织设计和美术考古领域的教学和研究工作。著有《天赐荣华——中国古代植物装饰纹样发展史》(上海文化出版社,2010年)。

章节目录

版权信息

内容提要

前言

第1章 算法设计与分析基础

1.1 算法概述

1.1.1 什么是算法

1.1.2 学习算法的重要性

1.2 问题的求解过程

1.2.1 问题及问题的求解过程

1.2.2 算法设计与算法表示

1.2.3 算法确认和算法分析

1.3 算法的复杂性分析

1.3.1 算法评价的基本原则

1.3.2 影响程序运行时间的因素

1.3.3 算法复杂度

1.3.4 使用程序步分析算法

1.3.5 渐近表示法

1.4 算法设计中常见的重要问题类型

1.4.1 排序问题

1.4.2 查找问题

1.4.3 图问题

1.4.4 组合问题

1.4.5 几何问题

1.4.6 数值问题

1.4.7 其他常见问题

1.5 常用的算法设计方法

1.5.1 数值计算算法

1.5.2 非数值计算算法

1.6 小结

练习题

第2章 递归算法

2.1 递归算法的思想

2.1.1 递归算法的特性

2.1.2 递归算法的执行过程

2.1.3 递推关系

2.2 递归法应用举例

2.2.1 汉诺塔问题

2.2.2 斐波那契数列问题

2.2.3 八皇后问题

2.3 典型问题的C++程序

2.4 小结

练习题

第3章 分治算法

3.1 分治算法的思想

3.2 排序问题中的分治算法

3.2.1 归并排序

3.2.2 快速排序

3.3 查找问题中的分治算法

3.3.1 折半查找

3.3.2 选择问题

3.4 组合问题中的分治算法

3.4.1 最大子段和问题

3.4.2 棋盘覆盖问题

3.5 典型问题的C++程序

3.6 小结

练习题

第4章 贪心算法

4.1 贪心算法的思想

4.1.1 问题的提出

4.1.2 贪心算法设计思想

4.1.3 贪心算法的基本要素

4.1.4 贪心算法的求解过程

4.2 组合问题中的贪心算法

4.2.1 背包问题

4.2.2 多机调度问题

4.3 图问题中的贪心算法

4.3.1 单源最短路径问题

4.3.2 最小代价生成树

4.4 典型问题的C++程序

4.5 小结

练习题

第5章 动态规划算法

5.1 动态规划算法的思想

5.2 查找问题中的动态规划算法

5.2.1 最优二叉搜索树

5.2.2 近似串匹配问题

5.3 图问题中的动态规划算法

5.3.1 多段图问题

5.3.2 每对结点间的最短距离

5.4 组合问题中的动态规划算法

5.4.1 0/1背包问题

5.4.2 最长公共子序列

5.4.3 流水作业调度

5.5 典型问题的C++程序

5.6 小结

练习题

第6章 回溯算法

6.1 回溯算法的思想

6.1.1 基本概念

6.1.2 基本思路

6.1.3 回溯算法的适用条件

6.1.4 回溯算法的效率估计

6.2 组合问题中的回溯算法

6.2.1 装载问题

6.2.2 0/1背包问题

6.2.3 n皇后问题

6.2.4 图的m着色问题

6.2.5 子集和数问题

6.3 图问题中的回溯算法

6.3.1 深度优先搜索

6.3.2 货郎(TSP)问题

6.3.3 最大团(MCP)问题

6.3.4 哈密顿环问题

6.4 算法效率的影响因素及改进途径

6.4.1 影响算法效率的因素

6.4.2 回溯算法的改进途径

6.5 典型问题的C++程序

6.6 小结

练习题

第7章 分支限界算法

7.1 分支限界算法的思想

7.2 求最优解的分支限界算法

7.2.1 FIFO分支限界算法

7.2.2 LC分支限界算法

7.3 组合问题中的分支限界算法

7.3.1 0/1背包问题

7.3.2 带限期的作业排序

7.4 图问题中的分支限界算法

7.4.1 旅行商问题

7.4.2 单源点最短路径问题

7.5 典型问题的C++程序

7.6 小结

练习题

附录 实验指导

实验一 递归与分治算法

1.1 实验目的与要求

1.2 实验课时

1.3 实验原理

1.4 实验题目

1.5 思考题

实验二 贪心算法

2.1 实验目的与要求

2.2 实验课时

2.3 实验原理

2.4 实验题目

2.5 思考题

实验三 动态规划算法

3.1 实验目的与要求

3.2 实验课时

3.3 实验原理

3.4 实验题目

3.5 思考题

实验四 回溯算法

4.1 实验目的与要求

4.2 实验课时

4.3 实验原理

4.4 实验题目

4.5 思考题

实验五 分支限界算法

5.1 实验目的与要求

5.2 实验课时

5.3 实验原理

5.4 实验题目

5.5 思考题

参考文献

算法设计与分析是2018年由人民邮电出版社出版,作者张晓霞。

得书感谢您对《算法设计与分析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
深度学习高手笔记·卷1:基础算法 电子书
本书从算法理论、算法源码、实验结果等方面对深度学习算法进行分析和介绍。
算法精粹:经典计算机科学问题的Python实现 电子书
第一行代码  C语言(视频讲解版) 电子书
学习程序设计,初学者往往遇到这样的困境:语言规则可以倒背如流,但写出的代码总是编译通不过,即使编译通过了却也得不出想要的结果。怎么办?《行代码 C语言》可以给你提供帮助。 你不需要具备高深的数学和电子学知识,只需要训练自己以计算机能够理解的方式去表达自己的逻辑,也就是要具备“计算思维”,寻找到解决问题的方法,然后用编程语言去指挥计算机执行即可。因此,本书与常规的C语言书不同,除了C语言本身的语法规则外,本书更关注的是培养初学者具有程序设计的思想,掌握程序设计的方法。 另外,计蒜客在线教育团队,为本书的读者提供了伴随式的在线编程平台支持,读者可以将图书和线上编程结合起来学习。 提供扫码看视频服务,全书94个微视频,总时长超过1000分钟。 提供辅助教学资源包,包括实验、试卷及答案、教学大纲、PPT等。
Python 3破冰人工智能:从入门到实战 电子书
数学基础:从历年数学建模竞赛入手,解读人工智能中的数学方法。 编程实践:100余个代码实例,全面讲解网络爬虫、数据存储与数据分析等内容。 算法应用:实战案例辅以丰富图解,详尽分析人工智能算法特性及其应用场景。
深入浅出Hyperscan:高性能正则表达式算法原理与设计 电子书