





定价:59.8元
印次:1-4
ISBN:9787302659563
出版日期:2024.08.01
印刷日期:2025.06.24
图书责编:王冰飞
图书分类:教材
本书结合Python语言的各种数据类型介绍穷举法、归纳法、迭代法和递归法等基本算法设计方法,重点讨论分治法、回溯法、分支限界法、贪心法和动态规划五大算法设计策略的原理和算法设计框架,通过大量典型示例和LeetCode实战题解析了多途径构建模型、求解和验证的过程。 全书既注重原理又注重实践,配有大量图表、练习题、上机实验题和在线编程题,内容丰富,概念讲解清楚,表达严谨,逻辑性强,语言精练,可读性好。 本书既便于教师课堂讲授,又便于自学者阅读,适合作为高等院校“算法设计与分析”课程的教材,也可供ACM和各类程序设计竞赛者参考。
前言 党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。 用计算机求解问题就是将特定问题的求解过程转换为计算机可以执行的程序。能够设计好的程序是计算机专业学生的基本功。在计算机教学体系中编程类的主要课程有“高级程序设计语言”“数据结构”“算法设计与分析”等,这些课程相互承接,程序设计语言是求解问题的工具,数据结构是求解问题的基础,算法设计是求解问题的关键。 “算法设计与分析”课程是计算机科学与技术等专业的必修课,课程目的是通过学习掌握算法设计的主要策略和算法复杂性分析的方法,并能熟练运用各种数据结构和常用算法策略设计高效算法,培养学生分析问题和解决复杂工程问题的能力,为学生进一步学习后续课程奠定良好的基础。本书是编者长期从事“数据结构”“算法设计与分析”课程教学的经验总结,凝聚了编者多年的教学体会和教学理念。 1. 本书内容 全书由9章构成,各章的内容如下。 第1章为算法入门——概论,介绍算法的概念、算法描述方法、算法设计步骤和算法时空分析方法。 第2章为工之利器——常用数据结构及其应用,结合Python中的各种数据类型介绍线性表、字符串、栈、双端队列、队列、优先队列、树和二叉树、图、并查集、二叉排序树和平衡二叉树、哈希...
目录
扫一扫
源码下载
第1章算法入门——概论/
1.1算法概述/
1.1.1什么是算法/
1.1.2算法的描述/
1.1.3算法设计的基本步骤/
1.2算法分析/
1.2.1算法的时间复杂度分析/
1.2.2算法的空间复杂度分析/
习题1/
第2章工之利器——常用数据结构及其应用/
2.1线性表——数组/
2.1.1线性表的定义/
2.1.2Python列表/
2.1.3列表元素的排序/
2.1.4列表的复制/
2.1.5实战——移除元素(LeetCode27★)/
2.2线性表——链表/
2.2.1单链表/
2.2.2实战——反转链表(LeetCode206★)/
2.3字符串/
2.3.1字符串的定义/
2.3.2Python中的字符串/
2.3.3实战——最大重复子字符串(LeetCode1668★)/
2.4栈/
2.4.1栈的定义/
2.4.2用Python列表实现栈/
2.4.3实战——使括号有效的最少添加
(LeetCode921★★)/
2.5双端队列/
2.5.1双端队列的定义/
2.5.2Python中的双端队列/
2.5.3实战——滑动窗口中的最大值
(LeetCode239★★★)/
2.6队列/
2.6.1队列的定义/
2.6.2Python中的队列/
2.6.3实战——无法吃午餐的学生的数量
...
(1)由浅入深,循序渐进。每种算法策略从设计思想、算法框架入手,由易到难地讲解经典问题的求解过程。
(2)示例丰富,重视启发。书中列举大量的具有典型性的求解问题,深入剖析采用相关算法策略求解的思路,清晰地展示算法设计的过程。
(3)注重求解问题的多维性。同一个问题采用多种算法策略实现,通过不同算法策略的比较,使学生更容易了解每一种算法策略的设计特点和各自的优缺点。
(4)强调实践和动手能力的培养。书中针对相关知识点以实战题形式讨论了力扣中国网站部分在线编程题的设计思路和解决过程,让学生体会到“学以致用”和解决实际问题的乐趣。