清华大学出版社

您所在的位置:网站首页 算法设计与分析基础pdf网盘 清华大学出版社

清华大学出版社

2024-07-17 15:02| 来源: 网络整理| 查看: 265

本书将经典问题和算法设计技术结合,以读者容易理解和接受的方式,系统介绍了算法设计技术,包括模拟法、递推法、蛮力法、分治法、减治法、贪心法、动态规划法、深度优先搜索、广度优先搜索、回溯法、A*算法、限界剪枝法、近似算法、概率算法和群智能算法;同时以通俗易懂的方式,系统介绍了算法分析技术,包括算法的时间复杂度分析、空间复杂度分析、**算法、确定性算法、非确定性算法、P类问题、NP类问题和NP完全问题。所有问题都用伪代码给出了算法描述,并提供了C++语言程序源码,且在C++语言的典型编程环境下调试通过。 本书案例丰富,叙述清晰,深入浅出,结合应用,符合算法学习者的认知规律,可作为高等院校计算机专业本科和研究生学习算法类课程的教材,适合准备参加程序设计竞赛(NOIP或ACM)却无从下手的学生,也特别适合算法爱好者学习参考。

more >

前言 第3版前言计算机已经成为当今社会的普通工具,这个世界越来越被算法所驱动。“算法基础”“程序设计实践”“算法设计与分析”等算法类课程不仅能够培养学生的算法设计与分析能力,以进一步增强程序设计与实现能力,而且能够引导学生的思维过程,培养计算思维能力。用计算机求解问题的最重要环节就是将人的想法抽象为算法,在描述问题和求解问题的过程中,主要采用抽象思维和逻辑思维。因此,算法训练就像一种思维体操,能够锻炼思维,使思维变得更清晰、更有逻辑。 好的算法整洁、漂亮,像艺术品,像诗歌。研究算法很有乐趣,而且研究算法之后会发现自己的思维能力提高了很多,那种成就感非常棒!本书的很多经典问题即便已经有人发布过算法和程序代码,作者仍希望本书呈现的是优雅的算法,是漂亮的代码,同时又是完全不一样的算法设计过程,阅读本书的一个个算法就像完成了一个个思维体操动作。因此,本次修订中作者把很多算法重新写了一遍,更注重算法设计技术的运用,使读者更容易理解和上手,从而能够运用算法设计技术解决实际问题。需要强调的是,对算法设计技术的顿悟是通过不断地阅读算法并加以实践来实现的,本书假定读者已经掌握基本的程序设计知识,能够读懂并上机调试本书提供的程序源码。 本书包括四个独立的部分: 第一篇是基础知识,第二篇是基本的算法设计技术,第三篇是基于搜索的算法设计技术,第四篇是NP问题的算法设计技术。如图1所示,学习了基础知识,完全可以独立学习其余各篇的算法设计技术,当然也可以按照本书的章节顺序依次学习。这些算法设计技术既相互独立,在设计思想上又有一定的互通关系,无论采用哪种学习方式,都希望读者能够在学习中加以思考,逐渐地将这些算法设计技术在脑海中连成一个知识网,进而融会贯通、灵活运用。 图1知识单元的拓扑结构 一般来讲,在计算机类专业培养计划中,算法类课程有两种开设方式: ①在“程序设计语言”课程之后开设“算法基础”或“程序设计实践”等课程,然后再开设“数据结构”或“算法与数据结构”课程; ②在“数据结构”课程之后开设“算法设计与分析”课程。本书适合作为“算法基础”“程序设计实践”“算法设计与分析”等课程的主讲教材,建议的教学安排请参见表1。算法设计与分析(第3版)第3版前言续表表1不同算法类课程的建议教学安排教学内容(章、节)教学方案及进度未学习“数据结构”课程已学习“数据结构”课程方案A (40学时)方案B (48学时)方案C (40学时)方案D (48学时)第1章 算法设计基础1.1~1.2111.30.50.50.50.51.4.1111.4.2~1.4.30.50.50.50.51.51第2章 算法分析基础2.1~2.2222.3~2.4111第3章 模拟法3.10.50.50.50.53.2~3.32.52.53.410.50.5第4章 递推法4.10.50.50.50.54.2.1,4.3114.2.2,4.41.51.51.51.5第5章 蛮力法5.10.50.50.50.55.2~5.322第5章 蛮力法5.4~5.51.51.5115.60.50.5第6章 分治法6.111116.21.51.56.31.51.51.51.56.4~6.5222第7章 减治法7.10.50.50.50.57.2~7.43.53.57.5111第8章 贪心法8.10.50.50.50.58.22228.3,8.4.22.52.52.52.58.4.11第9章 动态规划法9.1~9.2,9.5.244449.3~9.4,9.5.133第10章 深度优先搜索10.12.52.510.22.52.52.52.510.31.51.5第11章 广度优先搜索11.12.52.511.22.52.52.52.511.3~11.42.52.5第12章 问题的复杂性12.1~12.33312.41第13章 近似算法13.1~13.32213.41第14章 概率算法14.1~14.21114.3~14.52第15章 群智能算法15.1~15.33为方便读者学习,本书配备了教学课件、程序源码、实验项目、课后习题等数字教学资源,扫描相应位置的二维码即可获得。本书的适用读者是:  作为“程序设计基础”的后续课程,初步掌握程序设计语言后,希望提高程序设计能力的学生,为学习“数据结构”课程奠定坚实的基础,请参考表1安排学习进度。  作为“数据结构”的后续课程,掌握数据结构及基本操作后,希望提高算法设计能力的学生,请参考表1安排学习进度。  准备参加程序设计竞赛(NOIP或ACM),尚未入门又无从下手的学生,系统学习了本书的算法设计技术,就可以去学习《算法导论》或其他竞赛类算法的书了。  对算法领域感兴趣的任何人,跟随本书完成大量的算法训练后,你会发现自己的思维变得更清晰、更有逻辑性。 参加本书编写的还有王涛、王贵参、刘冰、张丽杰、党源源、肖巍等。由于作者的知识和写作水平有限,书稿虽再三斟酌几经修改,仍难免有不足之处,欢迎专家和读者批评指正。 作者2021年6月

more > 课件下载 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3