分支限界方法装载问题c语言,算法设计与问题求解--编程实践(高等学校规划教材)...

导语

b90ee82885d6ae6c68e81579c37a5cbd.png

李清勇等编著的《算法设计与问题求解--编程实践》是一本讲述怎样综合运用算法设计理论和技术进行问题求解的实践教材,主要讲述算法设计原理和方法,对运用算法求解问题时涉及的C/C++程序设计细节,尤其是影响算法准确性和复杂性的编程要点和技巧也进行了详细阐述。数据结构往往是算法设计和实现的基础,特别是一些高级数据结构,其本身就体现了很强的算法思维,因此本书不仅仅单独设立一章讲述数据结构,在讨论具体算法时也会交叉讨论相应的数据结构知识。

内容提要

b90ee82885d6ae6c68e81579c37a5cbd.png

李清勇等编著的《算法设计与问题求解--编程实践》是北京市精品教材立项项目,是大学生创新实践课程——“算法设计与实践”课程教材。本书以问题求解为目标,以高级程序设计语言C/C++为工具,讨论怎样综合运用算法(包括数据结构)知识去分析问题和解决问题。问题驱动、高级语言程序设计、数据结构以及算法设计与分析知识交叉融合是本书的特点。内容包括问题求解与算法分析概述、基本数据结构、高级数据结构、枚举算法、递归与分治、动态规划、贪心算法、搜索算法、图算法、算法分析的实用公式、在线程序评测系统简介等。教材配套有适合理论教学使用的电子课件以及适合实践教学使用的“在线程序评测系统”。

《算法设计与问题求解--编程实践》适合高等学校计算机、信息与计算科学、信息管理等专业师生使用,也可作为AcM程序设计竞赛培训人员的参考书。

目录

第1章  计算机问题求解概述

1.1  问题与问题实例

1.2  计算机问题求解周期

1.3  算法与程序

1.4  算法复杂性分析

1.4.1  空间复杂性

1.4.2  时间复杂性

1.4.2.1  时间复杂性的表示

1.4.2.2  渐近时间复杂性及其阶

1.4.2.3  时间复杂性渐近阶的意义

1.4.2.4  算法时间复杂性分析

习题1

第2章  程序设计语言与数据结构

2.1  程序设计语言的“盲点”

2.1.1  long不够长

2.1.1.1  数据类型的值域

2.1.1.2  大整数相加算法

2.1.2  double不够准

2.1.2.1  浮点数的存储格式

2.1.2.2  浮点数的有效数字

2.1.2.3  高精度浮点数处理实例

2.1.3  递归不够快

2.2  基本数据结构

2.2.1  线性表

2.2.1.1  线性表的顺序存储结构

2.2.1.2  线性表的链式存储结构

2.2.2  栈和队列

2.2.2.1  栈

2.2.2.2  队列

2.2.3  树和二叉树

2.2.3.1  树

2.2.3.2  二叉树

2.2.4  优先队列和堆

2.2.4.1  优先队列

2.2.4.2  二叉堆

2.2.5  图

2.2.5.1  邻接矩阵

2.2.5.2  邻接表

2.3  标准模板库

2.3.1  模板的基本概念

2.3.2  标准模板库概述

2.3.2.1  算法

2.3.2.2  容器

2.3.2.3  迭代器

2.3.3  标准模板库应用

2.3.3.1  向量(vector)

2.3.3.2  集合和多重集合(set和multiset)

2.3.3.3  映射和多重映射(map 和multimap)

2.3.3.4  堆(heap)

2.3.3.5  排序算法

习题2

第3章  枚举算法

3.1  枚举的基本思想

3.2  模糊数字

3.3  m钱买n鸡

3.4  真假银币

习题3

第4章  递归与分治

4.1  递归程序

4.2  分治策略的基本原理

4.3  合并排序

4.4  逆序对问题

4.5  快速排序

4.6  最接近点对问题

4.7  指数运算

4.8  二分查找

习题4

第5章  动态规划

5.1  动态规划的基本思想

5.1.1  动态规划的基本要素

5.1.2  动态规划的求解步骤

5.2  矩阵连乘

5.3  最优二叉搜索树

5.4  多段图最短路径

5.5  最长公共子序列

5.6  0-1背包问题

5.7  最大上升子序列

习题5

第6章  贪心算法

6.1  贪心算法的基本要素

6.2  活动安排问题

6.3  小数背包问题

6.4  最优前缀码

6.5  单源最短路径

6.6  最小生成树

6.6.1  Prim算法

6.6.2  Kruskal算法

6.7  贪心算法与动态规划、 分治算法的比较

习题6

第7章  搜索技术

7.1  问题的状态空间表示

7.2  深度优先搜索

7.3  广度优先搜索

7.4  回溯算法

7.4.1  回溯算法的基本原理和框架程序

7.4.2  装载问题的回溯算法

7.4.3  圆排列问题

7.5  分支限界

7.5.1  分支限界法的基本原理

7.5.2  装载问题的分支限界法

7.6  启发式搜索

7.6.1  启发式搜索基本原理

7.6.2  装载问题的启发式搜索

习题7

附录A  复杂性分析的数学基础

附录B  常用C语言和STL函数

附录C  程序设计竞赛和OnlineJudge介绍

参考文献

你可能感兴趣的:(分支限界方法装载问题c语言)