





作者:吴灿铭
定价:89元
印次:1-2
ISBN:9787302618478
出版日期:2022.10.01
印刷日期:2023.07.24
图书责编:赵军
图书分类:零售
本书是一本综合讲述数据结构及其算法的入门书,内容浅显易懂、逻辑严谨,力求在适用性上兼顾教师教学和学生自学。 全书从基本的数据结构概念开始讲解,以新版的Java语言详细诠释数组结构、队列、堆栈、链表、树结构、图结构、排序和查找等数据结构的基础知识,书中收录了精华的算法及范例程序的实现过程,辅以丰富的图示解析。全书的范例程序均采用Eclipse IDE for Java Developers集成开发工具进行编译、执行、测试及调试。此外,本书各章末尾都安排了配合教学内容的习题和选自各类考试的试题,并在附录中提供了解答,可供读者测试学习效果。 本书图文并茂,叙述简洁、清晰,范例丰富、可操作性强,是一本数据结构普及型的教科书和自学参考书。适用于具有一定编程能力又想增加编程“深度”的非信息专业类人员或学生。
吴灿铭,现任荣钦科技股份有限公司执行长,美国Rochester Institute of Technology计算机科学研究所毕业,长期从事信息教育及计算机图书写作的工作,计算机图书著作包括计算器概论、数据结构、办公室电子数据处理、互联网等相关题材,并监制过多套游戏以及教学软件的研发。
前 言 数据结构一直是计算机科学领域非常重要的基础课程,它不仅是各大专院校信息工程、信息管理、通信工程、应用数学、金融工程(计算金融)、计算机科学等信息类相关科系的必修科目,近年来包括电机、电子甚至一些商学院管理科系也将数据结构列入选修课程。同时,一些信息类相关科系的研究生入学考试、专业等级考试等,数据结构都被列入必考科目。由此可见,无论从考试的角度,或是研究信息科学理论知识的角度,数据结构确实是有志从事信息类工作的专业人员不得不重视的一门基础课程。 学好数据结构的关键在于能否找到一本易于阅读,并将数据结构中各种重要理论、算法等进行详实的诠释及举例的图书。市面上以Java程序设计语言来实现数据结构及其算法的图书相对比较缺乏,本书是一本讲述如何将数据结构概念以Java程序设计语言来实现的著作。为了方便学习,书中的范例程序都是完整的,可以避免片断学习造成的困扰。如此安排,就是希望帮助学习者更加顺畅地阅读,同时也方便了老师的教学和对程序代码的解说。另外,本书也在下载文件中提供了完整的范例程序代码,省去了用户必须自行输入的时间,方便练习和教学之用。 本书的特色在于将较为复杂的理论以图文并茂的方式来表达。为了避免在教学和阅读上的不顺畅感,书中的算法尽量不以伪代码进行说明,而是以Java程序设计语言来完整展现。另外,为了评估读者各章的学习成果,在每章末尾安排了大量的习题,这些题目包含考试的例题,希望读者可以更加灵活地应用各种知识。 这次改版的重点是加入了许多算法的介绍,包括:分治法、递归法、贪心法、动态规划法、迭代法、枚举法、回溯法等。针对不断有Java 最新JDK的发布,本...
第1章 数据结构与算法 1
1.1 数据结构的定义 1
1.1.1 数据与信息 2
1.1.2 数据的特性 2
1.2 算法 3
1.2.1 到处都是算法 3
1.2.2 算法的定义 4
1.3 算法性能的分析 6
1.3.1 Big-Oh 7
1.3.2 Ω(omega) 10
1.3.3 θ(theta) 10
1.4 常见算法介绍 10
1.4.1 分治法 10
1.4.2 递归法 11
1.4.3 贪心法 14
1.4.4 动态规划法 15
1.4.5 迭代法 16
1.4.6 枚举法 17
1.5 认识程序设计 18
1.5.1 程序开发流程 19
1.5.2 结构化程序设计 19
1.5.3 面向对象程序设计 20
本章习题 22
第2章 数组结构 24
2.1 线性表简介 24
2.2 认识数组 25
2.2.1 一维数组 26
2.2.2 二维数组 28
2.2.3 三维数组 31
2.2.4 n维数组 34
2.3 矩阵 34
2.3.1 矩阵相加 35
2.3.2 矩阵相乘 37
2.3.3 转置矩阵 40
2.3.4 稀疏矩阵 41
2.3.5 上三角矩阵 44
2.3.6 下三角矩阵 49
2.3.7 带状矩阵 53
2.4 数组与多项式 54
本章习题 56
第3章 链表 58
3.1 动态分配内存 58
3.2 单向链表 59
3.2.1 建立单向链表 6... 查看详情
为了便于学校的教学或者读者自学,笔者在描述数据结构原理和算法时行文清晰而严谨,为每个算法及其数据结构提供了演算的详细图解。另外,为了达到教学中让学生上机实践或者自学者上机“操练”的目的,本书为每个经典的算法都提供了用Java程序设计语言编写的完整范例程序(包含了完整的源代码),每个范例程序都经过了测试和调试,可以直接在标准的Java环境中运行,目的就是让本书的学习者以这些范例程序作为参照,迅速掌握数据结构和算法的要点。
学习本书需要有面向对象程序设计语言的基础,如果读者没有学习过任何面向对象的程序设计语言,那么建议读者还是先学习一下Java程序设计语言再来学习本书。如果读者已经掌握了C++、C#、Python等任何一种面向对象的程序设计语言,也需要找一本“Java程序设计语言快速入门”方面的参考书快速浏览一下,即可开始本书的学习。