


定价:46元
印次:1-8
ISBN:9787302477488
出版日期:2018.01.01
印刷日期:2024.07.11
图书责编:梁颖
图书分类:教材
本书介绍了算法设计与分析的基本技巧,主要包括递归、分治、动态规划、贪心和随机等算法,以及利用这些算法求解计算问题的时间复杂度分析等内容。通过诸多有趣的实例,向读者介绍了算法设计的思想,以便读者能形成算法思维的固定模式去解决问题。在介绍每一类算法范式以及分析算法复杂度时,都力求建立直观的思维过程,而摒弃过深的数学证明。书中所有算法均采用 Python语言描述,读者能从中学习到许多算法实现的技巧,从而提高编写程序的能力。 本书可作为高等学校计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。
如果将要处理的数据、问题看作是食材,那么算法就是将食材“转化”成各种令人垂诞美食的过程。中国菜肴到处都是充满想象力的转化,将原本普通的食材(大豆和糯米等)转化为营养和风味都令人叹为观止的食物(豆腐、酒酿和酱料等等)。《算法设计与分析(Python)》的主线就是转化,它不仅有问题的转化,也有方法的转化。通过问题的转化将问题“化繁为简”,通过方法的转化以便融会贯通各种算法设计的技巧。 算法设计与分析是计算机专业非常重要的一门基础课程,它不仅是诸多计算机专业课程的基础,也是诸多信息科技类公司在招聘员工时,笔试与面试重点考核的内容。算法设计与分析已经有了诸多经典的著作,然而笔者在教学过程发现,已有的算法设计与分析教材往往并不适合初学算法课程的同学。主要是这些著作往往需要较多的程序设计与数据结构的背景知识。《算法设计与分析(Python)》的内容编排并未要求过多的程序设计或者数学基础,只需要有一定程序设计基础即可,具体而言就是能正确写出一个从1加到100 的函数即可。尤其是,已有的算法著作在分析算法复杂度时,为了结果的严谨往往忽视了数学分析后的直观解释。 《算法设计与分析(Python)》摈弃了算法分析过程中繁琐的数学证明,而主要通过图示等手段给出算法分析结果的直观解释。此外,已有的教材描述算法的语言要么是伪代码,要么是C,C++ 或者Java这类高级程序语言。采用伪代码描述算法可以获得更为精简的描述,然而缺少可执行的结果会降低初学者对算法结果的直观印象。而使用C,C++ 或者Java这类高级程序语言描述算法,会降低算法描述的简洁性,还会增加初学者调试出正确结果的难度。为此,《算法设计与分析(Python)》的算法采用Python 描述。Python 是复杂度介于伪代码和C,C++ 之间的一类语言,其语法简单直观,如果有一定程序设计基础的学生可以在1 小时内入门。《算法设计与分析(Python)》可作为计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。 在线授课视频:https://www.bilibili.com/video/av87870598/https://www.bilibili.com/video/av88007850/https://www.bilibili.com/video/av88087700/https://www.bilibili.com/video/av88097616/https://www.bilibili.com/video/av88328036https://www.bilibili.com/video/av88329229
前言 “算法设计与分析”是计算机专业非常重要的一门基础课程,它不仅是诸多计算机专业课程的基础,也是许多信息科技类公司招聘程序员时,笔试与面试重点考核的内容。算法设计与分析已经有了诸多经典的著作,比如美国麻省理工学院( MIT)几位教授合著的《算法导论》 ①等。然而,这些经典著作当作教材使用时,都会存在对内容进行适当裁剪,以便更适合 48或者 32个学时教学的问题。我们写本书的目的就是对初等算法内容进行合理的编排,让初学者能很快地掌握解决计算问题的常用算法,以及分析算法效率的方法。 本书算法均采用 Python语言进行描述, Python是一类解释性语言,其语法简单直观,有一定程序设计基础的学生可以很快入门。 Python语法简单并不意味着功能弱,它在科学计算、 Web应用等诸多领域都有着广泛的应用。国外知名的高校,如麻省理工学院,也在算法设计课中采用 Python语言描述。与采用伪代码描述算法的书比较而言,采用 Python描述算法能给读者直接的运算结果,从而可以使读者更易于揣摩算法实现的技巧。 计算机算法不仅涉及诸多理论,还有各种技术细节。比如介绍随机算法时,有些执行时间的分析就需要较多的概率论知识;而算法实现技术细节则不仅关注如何存储数据,甚至对执行算法的硬件环境也会考虑在内。本书的内容安排则介于两者之间,在数学分析与实现之间期望取得合理的平衡。首先,在分析算法效率时尽量避免过深的数学证明,但关键步骤依然会给出直观的解释。其次,在实现算法时本书尽量利用 Python已有的数据结构和库函数,从而简化算法实现的技术难度。 如果将要处理的数据、问题看作是食材,那么算法就...
第 1章引言 1
1 1算法的定义 1
1 1 1算法的属性 2
1 1 2效率的定义 3
1 2算法设计与分析举例 5
1 2 1寻找局部高点 -1D 5
1 2 2图书管理 ... 查看详情
算法设计与分析是计算机专业非常重要的一门基础课程,它不仅是诸多计算机专业课程的基础,也是诸多信息科技类公司在招聘员工时,笔试与面试重点考核的内容。算法设计与分析已经有了诸多经典的著作,然而笔者在教学过程发现,已有的算法设计与分析教材往往并不适合初学算法课程的同学。主要是这些著作往往需要较多的程序设计与数据结构的背景知识。《算法设计与分析(Python)》的内容编排并未要求过多的程序设计或者数学基础,只需要有一定程序设计基础即可,具体而言就是能正确写出一个从1加到100 的函数即可。尤其是,已有的算法著作在分析算法复杂度时,为了结果的严谨往往忽视了数学分析后的直观解释。
《算法设计与分析(Python)》摈弃了算法分析过程中繁琐的数学证明,而主要通过图示等手段给出算法分析结果的直观解释。此外,已有的教材描述算法的语言要么是伪代码,要么是C,C++ 或者Java这类高级程序语言。采用伪代码描述算法可以获得更为精简的描述,然而缺少可执行的结果会降低初学者对算法结果的直观印象。而使用C,C++ 或者Java这类高级程序语言描述算法,会降低算法描述的简洁性,还会增加初学者调试出正确结果的难度。为此,《算法设计与分析(Python)》的算法采用Python 描述。Python 是复杂度介于伪代码和C,C++ 之间的一类语言,其语法简单直观,如果有一定程序设计基础的学生可以在1 小时内入门。《算法设计与分析(Python)》可作为计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。
查看详情





