





定价:59.8元
印次:1-4
ISBN:9787302625957
出版日期:2023.10.01
印刷日期:2025.02.18
图书责编:王冰飞
图书分类:教材
本书结合Java语言的数据结构(集合)介绍穷举法、归纳法、迭代法和递归法等基本算法设计方法,重点讨论分治法、回溯法、分支限界法、贪心法和动态规划五大算法设计策略的原理和算法设计框架,通过大量典型示例和LeetCode实战题解析了多途径构建模型、求解和算法实现的过程。 本书既注重原理又注重实践,配有大量图表、练习题、上机实验题和在线编程题,内容丰富、概念讲解清楚、表达严谨、逻辑性强、语言精练、可读性好。 本书既便于教师课堂讲授,又便于自学者阅读,适合作为高等院校“算法设计与分析”课程的教材,也可供ACM和各类程序设计竞赛者参考。
前言 党的二十大报告中指出:教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,这三大战略共同服务于创新型国家的建设。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。 用计算机求解问题是将特定问题的求解过程转换为计算机可以执行的程序,能够设计好的程序是计算机专业学生的基本功。在计算机教学体系中编程类的主要课程有“高级程序设计语言”“数据结构”“算法设计与分析”等,这些课程相互承接,程序设计语言是求解问题的工具,数据结构是求解问题的基础,算法设计是求解问题的关键。 “算法设计与分析”课程是计算机科学与技术等专业的必修课,旨在通过学习理解掌握算法设计的主要策略和算法复杂性分析的方法,并能熟练运用各种数据结构和常用算法策略设计高效算法,培养学生分析问题和解决复杂工程问题的能力,为学生进一步学习后续课程奠定良好的基础。本书是编者长期从事“数据结构”与“算法设计与分析”课程本科生和研究生教学中的经验总结,凝聚了编者的教学体会和理念。 1. 本书内容全书由9章构成,各章内容如下。 第1章算法入门——概论: 介绍算法的概念、算法描述方法、算法设计步骤和算法时空分析方法。 第2章工之利器——常用数据结构及其应用: 结合Java中的各种集合介绍线性表、字符串、栈、队列、双端队列、优先队列、树和二叉树、图、并查集、二叉排序树和平衡二叉树、哈希表等数据结构的原理和应用。 第3章必备技能——基本算法设计方法: 介...
第1章算法入门——概论/1
11算法概述/2
1.1.1什么是算法/2
1.1.2算法描述/3
1.1.3算法设计的基本步骤/5
12算法分析/5
1.2.1算法的时间复杂度分析/6
1.2.2算法的空间复杂度分析/14
13练习题/14
1.3.1单项选择题/14
1.3.2问答题/16
1.3.3算法设计题/18
第2章工之利器——常用数据结构及其应用/19
21线性表——数组/20
2.1.1线性表的定义/20
2.1.2Java数组/20
2.1.3实战——移除元素(LeetCode27★)/20
2.1.4Arrays类及其应用/22
2.1.5ArrayList类及其应用/26
22线性表——链表/29
2.2.1单链表/29
2.2.2实战——反转链表(LeetCode206★)/30
2.2.3LinkedList类/31
23字符串/31
2.3.1字符串的定义/31
2.3.2String类/31
2.3.3实战——最大重复子字符串(LeetCode1668★)/33
24栈/33
2.4.1栈的定义/33
2.4.2Stack栈类/34
2.4.3实战——使括号有效的最少添加(LeetCode921★★)/34
25队列/35
2.5.1队列的定义/35
2.5.2Queue队列接口/35
2.5.3实战——无法吃午餐的学生数量(LeetCode1700★)/36
26双端队列/37
2.6.1双端队列的定义/37
2.6.2Deque双端队列接口/...