数据结构(Java版)(第2版)
分類: 图书,计算机/网络,数据库,数据库理论,
作者: 叶核亚 编著
出 版 社: 电子工业出版社
出版时间: 2008-7-1字数: 500000版次: 1页数: 304印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121068928包装: 平装内容简介
本书为普通高等教育“十一五”国家级规划教材。
本书全面系统地介绍数据结构的基础理论和算法设计方法,包括线性表、树、图等数据结构以及查找和排序算法。本书采用Java语言以面向对象方法设计并实现了全部的数据结构及算法。本书精选基础理论内容,重点是数据结构设计和算法设计,通过降低理论难度和抽象性,加强实践环节等措施,力求增强学生的理解能力和应用能力。内容涉及的广度和深度符合本科培养目标的要求。
本书可作为普通高等学校计算机及相近专业本科生的数据结构课程教材,也可作为从事计算机软件开发和工程应用人员的参考书。
目录
第0章 Java程序设计基础
0.1 Java的特点和优势
0.2 Java语言基础
0.2.1 语言成分
0.2.2 流程控制语句
0.2.3 数组
0.2.4 字符串
0.3 面向对象程序设计
0.3.1 类和对象
0.3.2 类的封装性
0.3.3 类的继承性
0.3.4 类的多态性
0.3.5 抽象类和最终类
0.3.6 接口
0.3.7 内部类
0.3.8 包
0.4 异常处理
0.4.1 Java的错误和异常
0.4.2 抛出和处理异常
0.5 Java的标准输入/输出
习题0
实验0 Java程序设计基础
第1章 绪论
1.1 数据结构的基本概念
1.1.1 为什么要学习数据结构
1.1.2 什么是数据结构
1.1.3 数据的逻辑结构
1.1.4 数据的存储结构
1.1.5 数据操作
1.1.6 用Java语言描述数据结构
1.2 算法
1.2.1 什么是算法
1.2.2 算法分析
1.2.3 算法设计实例
1.2.4 递归算法
习题1
实验1 算法设计
第2章 线性表
2.1 线性表抽象数据类型
2.2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.3.1 线性表的链式存储结构
2.3.2 单链表
2.3.3 双链表
2.4 迭代器
2.4.1 迭代接口
2.4.2 基于迭代器的操作
2.4.3 提供迭代器对象
习题2
实验2 线性表的基本操作
第3章 栈和队列
3.1 栈
3.1.1 栈抽象数据类型
3.1.2顺序栈
3.1.3 链式栈
3.1.4 栈的应用
3.2 队列
3.2.1 队列抽象数据类型
3.2.2 顺序队列
3.2.3 链式队列
3.2.4 队列的应用
习题3
实验3 栈和队列及其应用
第4章 串
4.1 串抽象数据类型
4.1.1 串的基本概念
4.1.2 串抽象数据类型
4.2 串的表示和实现
4.2.1 串的存储结构
4.2.2 字符串类String
4.2.3 字符串类StringBuffer
4.3 串的模式匹配
4.3.1 朴素的模式匹配(Brute-Force)算法
4.3.2 无回溯的模式匹配(KMP)算法
习题4
实验4 串的基本操作及模式匹配应用
第5章 数组和广义表
第6章 树和二叉树
第7章 图
第8章 查找
第9章 排序
第10章 综合应用设计
第11章 Java开发运行环境
附录A ASCII字符与Unicode值
附录B Java关键字
附录C Java基本数据类型
附录D Java运算符及其优先级
附录E java.lang语言包部分类库
附录F JCreator 4.5常用菜单命令
附录G 本书数据结构包说明
书摘插图
第O章 Java程序设计基础
本章概述Java语言的基础知识和面向对象程序设计思想,以“够用必需为度”原则,介绍描述数据结构和算法所需要的面向对象技术,为后续章节做准备。有Java语言基础的读者可跳过本章。
本章介绍Java语言的基本语法,包括数据类型的特点、使用数组和字符串的方法等;介绍面向对象的基本概念和类的设计方法,包括类的封装、继承和多态原则,接口、内部类和包的作用及使用;介绍异常处理和标准输入/输出方法。
0.1Java的特点和优势
物竞天择,适者生存。同自然界的进化规律一样,程序设计语言、程序设计思想的变化和发展也是随着实际应用需要而变化和发展的。我们今天所看到、所使用的程序设计语言,经历了一系列竞争和淘汰之后仍然存在,说明它们有存在的道理,它们必定各有所长。这是一种自然选择的结果。
1995年,作为一种完全面向对象的程序设计语言,Java以一种全新的面貌问世。至今短短的十余年间,凭借其平台无关、健壮、安全、高效这些适应网络运行需要的特点,Java快速成长,不仅在Internet上游刃有余,而且通过J2ME、J2SE、J2EE三大平台,其应用领域全面覆盖了嵌入式应用、桌面应用和企业级应用,所表现出的强大的应用系统设计能力,使Java无处不在。
Sun公司于1995年发布JDK(Java Development Kit,Java开发工具包)1.0,宣告Java语言诞生。1998年,发布JDK 1.2,自称Java 2平台。1999年,发布JDK 1.3,将Java平台划分为J2ME(嵌入式)、J2SE(标准)、J2EE(企业级),使Java技术获得了最广泛的应用。2006年,发布JDK 1.6。
……