数据结构与算法(Java版)(第2版)

数据结构与算法(Java版)(第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全方位、全维度地解读数据结构与算法。

内容简介

本书详细介绍了线性结构、树结构和图结构中的数据表示及数据处理的方法,并对查找和排序两种重要的数据处理技术做了详细的探讨。书中对每一类数据结构的分析均按照“逻辑结构—存储结构—基本运算的实现—时空性分析—典型例题—知识点小结—练习题—实验题”的顺序来进行,算法全部采用Java语言描述,全部程序均经过调试。

本书语言叙述通俗易懂,由浅入深,算法可读性好,应用性强。书中还配有大量算法设计的例子,便于读者理解和掌握数据结构中数据表示和数据处理的方法。

作者简介

编著者罗文劼,1991年7月至今于河北大学计算机系教授计算机专业的相关课程。

章节目录

版权信息

第2版前言

第1版前言

第1章 绪论

1.1 引言

1.1.1 学习数据结构的原因

1.1.2 数据结构课程的内容

1.2 数据结构的概念

1.2.1 基本概念和术语

1.2.2 抽象数据类型

1.3 数据结构的表示方法

1.3.1 数据结构的C语言描述

1.3.2 数据结构的C++语言描述

1.3.3 数据结构的Java语言描述

1.3.4 数据结构的Python语言描述

1.4 算法

1.4.1 算法及其特性

1.4.2 算法的描述

1.4.3 算法的性能分析与度量

1.5 递归

1.5.1 递归的概念

1.5.2 递归调用的实现原理

1.5.3 递归转换为非递归

1.5.4 递归应用举例

1.6 本章小结

练习题

实验题

第2章 线性结构

2.1 引言

2.1.1 问题提出

2.1.2 线性表的定义

2.1.3 线性表的基本运算

2.2 线性表的顺序存储与实现

2.2.1 顺序表

2.2.2 顺序表上基本运算的实现

2.2.3 顺序表应用举例

2.3 线性表的链式存储与实现

2.3.1 单链表

2.3.2 单链表上基本运算的实现

2.3.3 循环链表

2.3.4 双向链表

2.3.5 链表应用举例

2.4 顺序表和链表的比较

2.5 堆栈

2.5.1 堆栈的定义及基本运算

2.5.2 堆栈的存储及运算实现

2.5.3 堆栈的应用举例

2.6 队列

2.6.1 队列的定义及基本运算

2.6.2 队列的存储及运算实现

2.6.3 队列的应用举例

2.7 其他线性结构及扩展

2.7.1 字符串

2.7.2 数组

2.7.3 特殊矩阵

2.8 本章小结

练习题

实验题

第3章 树结构

3.1 引言

3.1.1 问题提出

3.1.2 相关概念

3.2 二叉树

3.2.1 二叉树的基本运算

3.2.2 二叉树的主要性质

3.2.3 二叉树的存储

3.2.4 二叉树基本运算的实现

3.3 二叉树的遍历

3.3.1 用递归方法实现二叉树的三种遍历

3.3.2 用非递归方法实现二叉树的三种遍历

3.3.3 按层次遍历二叉树

3.4 二叉树遍历的应用

3.4.1 构造二叉树的二叉链表存储

3.4.2 在二叉树中查找值为x的数据元素

3.4.3 统计给定二叉树中叶子结点的数目

3.4.4 由遍历序列恢复二叉树

3.5 线索二叉树

3.5.1 线索二叉树的定义及其结构

3.5.2 线索二叉树的创建

3.5.3 线索二叉树的遍历

3.6 最优二叉树

3.6.1 最优二叉树的概念

3.6.2 最优二叉树的构造

3.6.3 最优二叉树的应用——哈夫曼编码

3.7 树

3.7.1 树的基本运算

3.7.2 树的表示

3.7.3 树的存储

3.7.4 树和森林与二叉树之间的转换

3.7.5 树或森林的遍历

3.7.6 树的应用

3.8 本章小结

练习题

实验题

第4章 图结构

4.1 引言

4.1.1 问题提出

4.1.2 相关概念

4.1.3 图的基本运算

4.2 图的存储

4.2.1 邻接矩阵

4.2.2 邻接表

4.3 图的遍历

4.3.1 深度优先搜索

4.3.2 广度优先搜索

4.3.3 遍历图的简单应用

4.4 最小生成树

4.4.1 生成树和生成森林

4.4.2 最小生成树算法分析

4.4.3 构造最小生成树的Prim算法

4.4.4 构造最小生成树的Kruskal算法

4.5 最短路径

4.5.1 单源点最短路径——Dijkstra算法

4.5.2 每一对顶点之间的最短路径

4.6 拓扑排序与关键路径

4.6.1 有向无环图的概念

4.6.2 AOV网与拓扑排序

4.6.3 AOE网与关键路径

4.7 本章小结

练习题

实验题

第5章 查找技术

5.1 引言

5.1.1 问题提出

5.1.2 相关概念

5.2 线性表查找

5.2.1 顺序查找

5.2.2 顺序存储的有序表查找

5.3 树结构查找

5.3.1 二叉排序树

5.3.2 平衡二叉树

5.4 散列表查找

5.4.1 基本概念

5.4.2 散列函数的构造方法

5.4.3 处理冲突的方法

5.4.4 散列表的性能分析

5.5 查找方法的比较

5.6 本章小结

练习题

实验题

第6章 排序技术

6.1 引言

6.1.1 问题提出

6.1.2 相关概念

6.2 插入排序

6.2.1 直接插入排序

6.2.2 折半插入排序

6.2.3 希尔排序

6.3 交换排序

6.3.1 冒泡排序

6.3.2 快速排序

6.4 选择排序

6.4.1 简单选择排序

6.4.2 树结构选择排序

6.4.3 堆排序

6.5 归并排序

6.6 基数排序

6.6.1 多关键码排序

6.6.2 链式基数排序

6.7 排序方法比较

6.7.1 性能比较

6.7.2 不同排序方法的适用情况

6.8 本章小结

练习题

实验题

第7章 扩展应用举例

7.1 求最大子段和

7.1.1 问题描述

7.1.2 问题分析与解决

7.2 表达式树的构造

7.2.1 问题描述

7.2.2 问题分析与解决

7.3 由等价关系求划分

7.3.1 问题描述

7.3.2 问题分析与解决

7.4 本章小结

练习题

实验题

参考文献

数据结构与算法(Java版)(第2版)是2024年由机械工业出版社出版,作者罗文劼 等 编著。

得书感谢您对《数据结构与算法(Java版)(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Java编程技术与项目实战(第2版) 电子书
本书从Java语言的基本特点入手,全面介绍了Java语言的基本概念和编程方法,并扼要介绍了Java的高特。全书内容涉及Java基本语法、数据类型、异常、界面设计、小应用程序、I/O数据流、线程等内容,这些内容基本覆盖了Java的实用技术,是进一步使用Java进行技术开发的基础。
数据结构(C语言版)(第2版) 电子书
适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。   采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”的案例驱动思路来展开。每章使用一个有趣的“问题案例”开头,由该案例逐步引入新的数据结构,然后给出该数据结构的存储表示及各种基本操作的实现,之后进一步分析此案例,最终利用该数据结构来实现此案例。   算法讲解更加细致。新版教材中对每个算法思想进行详细阐述,将用文字描述的算法步骤与用类C语言表述的算法描述一一对应。   优化教材内容。参考计算机专业全新的全国统考考研大纲,增加了大纲近两年新增的考点内容,如分块查找、外部排序等,有助于考研学生复习备考使用。
Java从入门到精通(第4版) 电子书
本书以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了Java的相关知识和实战技巧。
Java EE核心框架实战(第2版) 电子书
本书宗旨 提高读者学习Java EE的效率,增强其项目实战能力。本书摒弃了软件公司中不常用或不实用的技术,而是采用近200个开发案例,为读者讲解了开发商业软件的知识,帮助读者进行“精要”式的学习,汲取Java EE的思想,正确地进行项目实战。 本书特色 不留遗漏——覆盖主流Java EE轻量级框架 直击要害——实战化案例精准定位开发细节 学以致用——精要式项目确保开发/ 学习不脱节 潜移默化——研磨式知识讲解参透技术要点 提升效率——垂直式技术精解不绕弯路 循序提升——渐进式知识点统排确保连贯 以点概面——解决方案式项目,知识独立却又体系完整 成功案例——全面经过项目过程锤炼,提升学习/ 开发效率
Java设计模式及应用案例(第2版) 电子书
本书共23章。内容涵盖了模式设计的六大法则:单一职责原则、里氏代换原则、开放封闭原则、依赖倒转原则、合成/聚合复用原则、迪米特法则。介绍了Java反射技术在模式中的重要作用。介绍了23种常用模式:接口与抽象类模式,工厂方法模式、抽象工厂模式、构造者模式、桥接模式、装饰模式、代理模式、状态模式、观察者模式、中介者模式等,以及这些模式的综合运用。