基本信息
- 原书名:Java 资料结构
- 原出版社: 文魁资讯股份有限公司
内容简介
目录
1.1 何谓数据结构
1.2 算法与伪码
1.3 程序结构化与设计风格
1.4 程序分析的方法
1.5 时间复杂度分析
1.6 渐近式表示法
1.6.1 时间复杂度的各类等级
1.6.2 渐近式表示法
1.7 递归式的复杂度计算
第2章 数组
2.1 何谓数组
2.2 一维数组
2.3 一维数组的使用
2.4 一维数组的存取
2.5 一维数组的遍历
2.6 一维数组的进一步使用
2.7 二维数组
2.8 数组表示法
2.9 特殊类型的数组
前言
本书并不专门介绍面向对象程序设计,而是以“数据结构”为主,所以希望读者在阅读本书之前,最好先具备Java程序语言的基础,这样在阅读本书提供的Java程序范例时,才比较容易上手。本书并不采用较艰深难懂的面向对象概念来介绍数据结构,而是运用Java语言的特性来编写数据结构的程序。本书的Java程序,都是为了让读者了解数据结构所精心设计出的范例,希望借此让读者建立正确的数据结构概念。
本书共11章,并有3个附录,各部分具体内容如下:
第1章主要介绍数据结构的基本概念,包括数据结构和算法与伪码的概念、程序结构化与设计风格、程序分析的方法、时间复杂度的分析及表示等。
第2章主要介绍数组结构,包括数组的概念,一维数组的使用、存取、遍历,二维数组的表示及特殊类型的数组。
第3章主要介绍简单的链表结构,包括链表的概念、单链表的建立、查找及其他基本处理。
第4章主要介绍难栈结构,包括堆栈的概念、堆栈的建立与应用(主要是表达式方面的应用)。
第5章主要介绍队列结构,包括队列的概念、队列的建立、环状队列以及双向队列等。
第6章主要介绍递归设计方法,包括速归的概念、函数调用与参数传递、递归设计方法的应用(如求解数学问题、汉诺塔问题、N皇后问题、迷宫问题)等。
第7章主要介绍基础树状结构,包括树状结构的概念,二叉树的概念、表示、遍历与查找,二叉树的节点删除,一般树与二叉树的转换,线索二叉树以及二叉树的应用。
第8章主要介绍排序设计方法,包括排序的概念,内部排序法咬换式排序、选择式排序、插入式排序),外部排序法(合并排序法似及各种排序方法的效率比较。
第9章主要介绍查找设计方法,包括查找的概念、线性查找、折半查找、费氏查找、插补查找、杂凑查找以及二叉查找树等。
第10章主要介绍复杂的链表结构,包括循环链表和双向链表的建立、插入与删除。
第11章主要介绍图形结构,包括图形结构的概念、图形的表示、图形的搜索、生成树问题和最短路径问题。
附录部分包括ASCII码、各章的习题解答以及Java中常用的类。
“数据结构”这门学科是前人在程序设计方面积累的程序设计经验,学会基础程序设计,你只能解决程序设计中三成的问题;学会数据结构,你却能解决程序设计中八成的问题。因此,“数据结构”是信息科学中被认为最重要的学科之一。但是“数据结构”并不容易学习,所以常让初学者望而却步。
为了减少读者在学习“数据结构”上的恐惧,本书在每章节中都附有详细的说明和程序范例,藉此带领读者一步一步地学习“数据结构”,并希望读者在学习本书的过程中能够获得最大的收益。
在本书中我们采用条列步骤的方式,引导读者循序渐进地学习各种不同的数据结构,还使用图形来表示每一步操作,再加上浅显易懂的文字说明及程序范例,让读者可以轻轻松松地了解数据结构的概念。
虽然本书在编写过程中力求完美,仍难免有错漏之处,希望各位不吝指正。