数据结构与程式设计

数据结构与程式设计

《数据结构与程式设计》是2010年清华大学出版社出版的图书,作者是王裕明。本书比较系统地介绍了线性表、栈和伫列、串、数组和广义表、树、图、查找、排序等内容。

    • 书名:数据结构与程式设计
    • 作者:王裕明
    • ISBN: 9787302234784
    • 定价:35.00元
    • 出版社:清华大学出版社
    • 出版时间:2010年10月1日
    • 开本:16开

内容介绍

《数据结构与程式设计》共分为9章,最后有一套实验题目。每章都配置了本章要点、本章小结和习题,便于读者理解、消化书中的内容。《数据结构与程式设计》的最后,有一套实验题目,共有六个实验,每个实验又包含多道实验题目,每道实验题都从问题描述、基本要求、测试数据、实验提示、选作内容等几个环节给予解析,通过实验进一步提高读者运用数据结构知识解决实际问题的能力。全书融入了作者长期的教学经验,在编排上注意体现教学思路的完整性,力求做到深入浅出、通俗易懂,同时也考虑了自学者的学习方便,适于教学和自学。

《数据结构与程式设计》的读者对象是学习数据结构课程的本、专科及高职类学生,也可作为信息类各专业考试、高校教师以及其他专业技术人员的参考用书。

图书目录

第1章绪论1

1.1数据结构概述1

1.2算法及其複杂度3

1.2.1什么是算法3

1.2.2有关算法複杂度的概念4

1.2.3算法複杂度分析4

本章小结8

习题一8第2章线性表10

2.1线性表的概念10

2.2顺序存储的线性表11

2.2.1顺序线性表的基本操作11

2.2.2顺序线性表套用举例15

2.3线性鍊表17

2.3.1向前鍊表18

2.3.2循环鍊表25

2.3.3双向循环鍊表28

2.4线性表套用举例31

本章小结42

习题二42

第3章栈和伫列46

3.1栈46

3.1.1栈的定义和特性46

3.1.2栈的顺序存储方式46

3.1.3栈的连结存储方式49

3.2栈的套用举例51

3.3伫列56

3.3.1伫列的定义和特性56

3.3.2伫列的顺序存储方式56

3.3.3伫列的连结存储方式61

3.4伫列套用举例63

本章小结68

习题三68

数据结构与程式设计目录

第4章串72

4.1串的基本概念和术语72

4.1.1串的定义72

4.1.2串的有关术语72

4.2串的存储结构73

4.2.1顺序存储结构73

4.2.2链式存储结构74

4.3串的基本操作75

4.3.1串的基本操作75

4.3.2顺序串的操作举例76

4.4串的模式匹配算法78

4.4.1简单的模式匹配算法78

4.4.2改进后的模式匹配算法82

4.5串操作套用实例86

4.5.1堆存储结构86

4.5.2文本编辑86

本章小结90

习题四91

第5章数组和广义表92

5.1数组的定义92

5.2数组的存储结构93

5.3特殊矩阵的压缩存储96

5.3.1对称矩阵96

5.3.2三角矩阵97

5.3.3带状矩阵98

5.4稀疏矩阵99

5.4.1稀疏矩阵的三元组表存储99

5.4.2稀疏矩阵的十字鍊表存储105

5.5数组套用实例111

5.6广义表117

5.6.1广义表的基本概念和性质117

5.6.2广义表的存储118

5.6.3广义表的基本操作119

本章小结121

习题五121

第6章树123

6.1树的基本概念和术语123

6.1.1树的定义123

6.1.2树的有关术语124

6.2二叉树125

6.2.1二叉树的定义125

6.2.2二叉树的性质126

6.2.3二叉树的存储结构127

6.2.4二叉树的建立128

6.3遍历二叉树131

6.3.1遍历二叉树的顺序131

6.3.2遍历顺序与二叉树的结构131

6.3.3遍历二叉树的递归算法132

6.3.4遍历二叉树的非递归算法134

6.3.5按层次遍历二叉树138

6.3.6遍历二叉树的套用141

6.4线索二叉树144

6.4.1线索二叉树的建立145

6.4.2单步遍历线索二叉树148

6.5哈夫曼树及套用155

6.5.1哈夫曼树的定义155

6.5.2哈夫曼树的构造算法155

6.5.3哈夫曼树的套用158

6.6树和森林161

6.6.1树的存储结构161

6.6.2森林与二叉树的转换164

本章小结165

习题六165

第7章图169

7.1图的基本概念和术语169

7.1.1图的定义169

7.1.2图的基本概念和术语170

7.1.3带权图171

7.2图的存储结构171

7.2.1邻接矩阵171

7.2.2邻接表172

7.3图的遍历172

7.3.1深度优先搜寻172

7.3.2广度优先搜寻173

7.3.3图的遍历程式174

7.4图的生成树182

7.4.1图的生成树和最小生成树182

7.4.2Prim算法183

7.4.3Kruskal算法186

7.5最短路径问题189

7.5.1单源点最短路径问题189

7.5.2每对顶点间的最短路径问题192

7.6拓扑排序195

本章小结199

习题七199

第8章查找204

8.1基本概念204

8.2顺序表的查找205

8.2.1顺序查找205

8.2.2折半查找207

8.2.3分块查找210

8.3二叉排序树211

8.3.1二叉排序树的定义211

8.3.2二叉排序树的基本操作212

8.4哈希表220

8.4.1哈希表的概念220

8.4.2哈希函式的构造方法221

8.4.3解决冲突的方法223

8.4.4哈希表程式举例225

本章小结227

习题八227第9章排序229

9.1排序的基本概念229

9.2插入排序230

9.2.1直接插入排序230

9.2.2折半插入排序234

9.2.3希尔排序236

9.3交换排序240

9.3.1冒泡排序240

9.3.2快速排序242

9.4选择排序247

9.4.1简单选择排序247

9.4.2树形选择排序250

9.4.3堆排序251

9.5归併排序256

9.6基数排序259

9.6.1多关键字的排序259

9.6.2链式基数排序260

9.7各种排序方法的综合比较266

9.8外部排序268

9.8.1外存信息的存储介质268

9.8.2多路平衡归併269

9.8.3平衡归併排序276

本章小结278

习题九278实验题280实验一线性表280

实验二栈、伫列的算法设计282

实验三串及其套用284

实验四树及其套用285

实验五图及其套用286

实验六查找和排序287参考文献289

第1章Java语言背景、特点与开发环境

11.1计算机程式语言1

1.2Java的产生背景2

1.3Java的发展2

1.4Java技术的套用领域3

1.5Java工作原理及其特点3

1.5.1跨平台特性4

1.5.2面向对象特性4

1.5.3无用记忆体(垃圾)自动回收4

1.5.4健壮且安全5

1.5.5多执行绪支持5

1.5.6简单易用5

1.6Java程式开发环境6

1.6.1安装6

1.6.2安装Java帮助文档6

1.6.3配置环境变数6

1.6.4Java程式编写、编译与运行7

本章小结9

习题9

第2章Java语言程式设计基础10

2.1Java程式的基本结构10

2.2Java符号集11

2.2.1关键字11

2.2.2标识符122.2.3程式中的注释12

2.3数据的简单类型13

2.4常量14

2.4.1整数14

2.4.2浮点数15

2.4.3字元型常量15

2.4.4布尔型常量15

2.5变数和变数声明15

Java语言编程实践教程目录

2.6变数的作用域及初始化16

2.6.1作用域16

2.6.2初始化17

2.7运算符18

2.7.1算术运算符19

2.7.2关係和布尔运算符21

2.7.3位运算符23

2.7.4赋值运算符和数据的类型转换24

2.7.5条件运算符25

2.8表达式26

本章小结26

习题27

第3章Java流程控制与数组28

3.1Java程式流程控制28

3.2条件语句if-else29

3.3多分支语句switch和中断语句break31

3.4循环语句35

3.4.1while语句35

3.4.2do-while语句35

3.4.3for语句36

3.5continue语句38

3.6return语句40

3.7数组和字元串41

3.7.1数组声明41

3.7.2数组元素的引用及初始化42

3.7.3字元串44

本章小结45

习题45第4章Java面向对象的基本概念474.1面向对象的概念47

4.2面向对象编程基础48

4.2.1抽象原则48

4.2.2对象49

4.2.3讯息49

4.2.4类50

4.2.5类与对象的关係51

4.3面向对象编程的基本特徵51

4.3.1封装性51

4.3.2继承性52

4.3.3多态性53

4.4类54

4.4.1定义类的一般格式54

4.4.2封装机制55

4.4.3成员变数59

4.4.4成员方法62

4.5Java类库75

4.5.1Java类库的优点75

4.5.2Java类库中的常用包76

4.6对象78

4.6.1对象的创建78

4.6.2对象的使用79

4.6.3对象的初始化与构造方法81

本章小结83

习题83第5章Java类与对象的高级特徵845.1Java面向对象编程的套用总结84

5.2特殊类的创建与访问85

5.2.1抽象类85

5.2.2内部类85

5.2.3最终类90

5.2.4包90

5.2.5接口92

5.2.6常用包中的类的使用方法94

5.3构造方法94

5.3.1构造方法的概念95

5.3.2重载构造方法97

5.3.3默认构造方法98

5.3.4构造方法的调用98

5.3.5构造方法的作用域与访问级别99

5.3.6构造方法的主要特点小结99

5.4方法重载与覆盖100

5.4.1方法重载100

5.4.2方法覆盖100

5.5创建对象的各种方式及对象的多态性108

5.5.1创建对象的各种方式108

5.5.2对象的多态性111

5.5.3关于对象的几个主要关键字112

5.5.4Java主要修饰符汇总114

5.5.5程式实例114

本章小结115

习题116第6章Java输入输出系统121

6.1输入输出流概述121

6.1.1输入输出流类的层次结构121

6.1.2标準输入输出流122

6.1.3I/O中的异常122

6.2档案处理122

6.2.1档案处理的类结构123

6.2.2档案处理的常用类与随机访问档案类的常用方法123

6.2.3程式实例126

6.3位元组流128

6.3.1InputStream和OutputStream类的层次结构128

6.3.2InputStream和OutputStream类的常用方法129

6.3.3程式实例130

6.4字元流130

6.4.1Reader和Writer类的层次结构130

6.4.2Reader和Writer类的常用方法131

6.4.3程式实例131

6.5过滤流133

6.5.1过滤流的类结构133

6.5.2过滤流类的常用方法134

6.5.3程式实例134

6.6对象的串列化135

6.6.1对象的串列化接口与类135

6.6.2串列化方法135

6.6.3串列化的目的136

6.6.4程式实例138

本章小结139

习题140第7章Java图形用户界面144

7.1AWT与Swing组件144

7.1.1AWT组件145

7.1.2Swing组件153

7.2布局管理器168

7.2.1FlowLayout流布局管理器168

7.2.2BorderLayout边界布局管理器169

7.2.3GridLayout格线布局管理器170

7.2.4CardLayout卡片布局管理器171

7.2.5GridBagLayout格线包布局管理器172

7.2.6BoxLayout盒布局管理器175

7.3事件处理175

7.3.1事件处理机制175

7.3.2创建互动三部曲177

7.4AWT绘图186

7.4.1基本的绘图方法186

7.4.2Graphics类及其他相关类187

7.5JavaApplet188

本章小结189

习题190第8章Java异常处理191

8.1Java异常处理概述191

8.2Java异常处理机制及其优点192

8.2.1Java异常处理机制192

8.2.2Java异常处理机制优点193

8.2.3Java异常处理具体形式193

8.3Java异常类196

8.4Java异常处理语句198

8.4.1throws声明:声明可能会出现的异常类199

8.4.2throw语句:抛出异常对象199

8.4.3try-catch语句:捕获异常200

8.4.4finally语句:任何情况下都必须执行的语句204

8.4.5程式实例205

8.5自定义异常类205

本章小结207

习题207

第9章JDBC资料库编程210

9.1JDBC概述210

9.1.1JDBC简介210

9.1.2JDBCURL211

9.1.3JDBC-ODBC桥212

9.2JDBC编程212

9.2.1常用的JDBCAPI类212

9.2.2JDBC编程的一般步骤213

9.2.3用JDBC实现资料库查询和更新215

9.3Java资料库编程218

本章小结221

习题222

参考文献223

附录AJava关键字分类224

附录BJava运算符优先权表226

附录CASCII表228

附录DJava5.0部分常用包中的部分常用类230

相关词条

相关搜索

其它词条