算法设计(C++版)

2025-9-24 158 9/24

算法设计(C++版)

作者:王秋芬

页数:325

出版社:清华大学出版社

出版日期:2023

ISBN:9787302636991

高清校对版pdf(带目录)

前往页尾底部查看PDF电子书

内容简介

本书是一本注重理论联系实践,系统介绍算法设计方法、分析技巧和C 编程实战的著作。本着“易理解,重实用”的指导思想,结合多年的教学经验,以算法设计策略为主线,沿着“算法思想——算法设计——构造实例——算法描述——算法分析——C 实战”的思路来组织学习内容,主要包括:算法概述、贪心算法、分治算法、动态规划、回溯算法及分支限界算法、随机化算法、网络流算法和NP完全理论等八章内容。为突出教材的可读性、可用性及前沿性,每章增设了学习目标、阅读材料及习题解析。配套资源包括实验指导书、大纲、PPT课件、经典案例源代码、微课视频等内容。适合作为计算机类及相关专业的本科生教材,也可供工程技术人员和自学读者学习参考,还适合作为程序设计大赛爱好者的参考用书。

作者简介

王秋芬:一位具有近20年一线教学经验的教育工作者,主讲算法设计与分析、操作系统原理、数据结构、Linux操作系统等课程。致力于算法、操作系统和智能计算等领域的研究,主持或参与了10余项重要课题,并发表了20多篇学术论文,获国家发明专利4项。此外,还出版了《算法设计与分析》、《算法设计艺术》、《算法设计与分析——Python版》、《算法设计与分析——基于C 编程语言的描述》和《Flash CS5 中文版基础教程》等5部著作,为国家和社会的发展做出了贡献。

相关资料

李永华 北京邮电大学信息与通信工程学院教授
有两种思想像宝石一样熠熠生辉一一微积分和算法。微积分造就了现代科学,算法造就了现代世界。《算法设计(C 版)》系统讲解了贪心算法、分治算法、动态规划算法、回溯算法及分支限界算法、随机化算法、网络流算法等多种经典算法,并提供遗传算法、粒子群算法等智能算法的拓展知识。本书内容全面,充分展示了运用数学、数据结构、程序设计语言求解问题的内在联系,能帮助读者深入理解算法,并使其能迅速动手进行编程实战。
叶志伟 湖北工业大学计算机学院教授
有计算的地方,就有算法的身影。从网上购物到出行规划,从学习工作到休闲娱乐,算法无所不在。《算法设计(C 版)》的作者结合自己十多年算法设计的教学实践经验,由浅入深地讲解了经典算法理论及设计方法,并提供了将理论付诸实践的程序源码,具有很高的学习价值。
韩道军 河南大学计算机与信息工程学院教授,河南省教学名师
《算法设计(C 版)》涵盖了算法思想剖析及C 编程实战,强化从理论分析到实践演练的具体操作方法,注重工科思维训练与提升。本书借助经典算法实例演示算法的运行过程,帮助读者深入理解算法原理及实际应用,同时配套相应的C 程序源码帮助读者学会算法实现。本书对读者学习算法设计具有很高的参考价值,有助于培养读者解决复杂工程问题的能力。
关东升 北京智捷课堂CTO,高级架构师,畅销IT图书作家
从辗转相除法到割圆术,从算盘到电子计算机,算法在人类文明发展中始终扮演着重要角色,《算法设计(C 版)》侧重用实例演示经典算法的运行,用C 编程语言展示实现细节和技巧,打造真正的从理论到实践的具体路线,形象直观,易学易懂,具有很高的参考价值。

本书特色

内容全面:系统介绍了经典算法设计策略及分析方法,如贪心算法、分治算法、动态规划、搜索算法(回溯法和分支限界法)、随机化算法、网络流算法等,深入剖析了算法策略在经典案例中的运用,详细演示了算法运行过程并分析了算法的效率。
实用性强:选用经典又流行的C 编程语言,紧扣算法思想,为每一个案例编程展示了理论思想中的描述与具体编码之间的对应,为读者从理论到实践的成长指明了方向。
资源丰富:开源了全部课程源代码,同时提供了配套课件、微课视频、大纲、实验指导、测验题库、习题解答等资源。【教学资源】微课视频
程序源码
教学大纲
教学课件
测验题库
习题解答说明:关注“人工智能科学与技术”微信公众号,在“知识”→“资源下载”→“配书资源”菜单获取下载链接(或到清华大学出版社网站本书页面获取下载链接)。

目录

第1章算法概述
1.1算法的基本概念
1.1.1学习算法的重要性
1.1.2算法的定义及特性
1.1.3算法的描述方式
1.2算法设计的一般过程
1.3算法分析
1.3.1算法分析的概念
1.3.2时间复杂性
1.3.3空间复杂性
1.3.4算法渐进复杂性
1.3.5算法复杂性的权衡考虑
1.4递归
1.4.1认知递归
1.4.2n的阶乘
1.4.3排列问题
1.4.4最大公约数
1.4.5递归算法的复杂性分析
拓展知识: 算法界十大名师简介
本章习题
第2章贪心算法
2.1贪心算法概述
2.1.1贪心算法的基本思想
2.1.2贪心算法的基本要素
2.1.3贪心算法的解题步骤及算法设计模式
2.2会场安排问题

2.3单源最短路径问题
2.4哈夫曼编码
2.5最小生成树
2.5.1Prim算法
2.5.2Kruskal算法
2.5.3两种算法的比较
拓展知识: 遗传算法
本章习题
第3章分治算法
3.1分治算法概述
3.1.1分治算法的基本思想
3.1.2分治算法的解题步骤
3.2二分查找
3.3循环赛日程表
3.4合并排序
3.5快速排序
3.6最接近点对问题
拓展知识: 禁忌搜索算法
本章习题
第4章动态规划算法
4.1动态规划算法概述
4.1.1动态规划算法的基本思想
4.1.2动态规划算法的解题步骤
4.1.3动态规划算法的基本要素
4.2矩阵连乘问题
4.3凸多边形最优三角剖分问题
4.4最长公共子序列问题
4.5加工顺序问题
4.601背包问题
4.7最优二叉查找树
拓展知识: 模拟退火算法
本章习题
第5章回溯算法及分支限界算法
5.1回溯算法

5.1.1回溯算法的算法框架及思想
5.1.2子集树
5.1.3排列树
5.1.4满m叉树
5.2分支限界算法
5.2.1分支限界算法的基本思想
5.2.201背包问题
5.2.3旅行商问题
5.2.4布线问题
5.2.5分支限界算法与回溯算法的比较
拓展知识: 蚁群算法
本章习题
第6章随机化算法
6.1随机化算法概述
6.1.1随机化算法的类型及特点
6.1.2随机数发生器
6.2数值随机化算法
6.2.1计算π值的问题及分析
6.2.2计算定积分
6.3蒙特卡洛算法
6.3.1主元素问题
6.3.2素数测试
6.4拉斯维加斯算法
6.4.1整数因子分解问题
6.4.2n皇后问题
6.5舍伍德算法
6.5.1随机快速排序
6.5.2线性时间选择问题
拓展知识: 粒子群优化算法
本章习题
第7章网络流算法
7.1最大网络流
7.1.1基本概念
7.1.2增广路算法
7.1.3最大网络流的变换与应用
7.2最小费用最大流
7.2.1基本概念
7.2.2消圈算法
7.2.3最小费用最大流的变换与应用
拓展知识: 捕食搜索算法
本章习题
第8章NP完全理论
8.1易解问题和难解问题
8.2P类问题和NP类问题
8.2.1P类问题
8.2.2NP类问题
8.2.3P类问题和NP类问题的关系
8.3NP完全问题
8.3.1多项式变换技术
8.3.2典型的NP完全问题
8.4NP完全问题的近似算法
8.4.1顶点覆盖问题
8.4.2装箱问题
8.4.3旅行商问题
8.4.4集合覆盖问题
拓展知识: DNA计算
本章习题

PDF更新中
- THE END -

非特殊说明,本博所有文章均为博主原创。