第1篇 基础篇 1
第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 算法与算法分析 5
1.3.1 算法的定义和描述 5
1.3.2 算法分析和复杂度计算 6
习题1 8
第2章 线性表 11
2.1 线性表及其逻辑结构 11
2.1.1 线性表的定义 11
2.1.2 线性表的基本操作 12
2.2 线性表的顺序存储结构及运算实现 12
2.2.1 线性表的顺序存储——顺序表 12
2.2.2 顺序表上基本运算的实现 14
2.3 线性表的链式存储结构及运算实现 18
2.3.1 单链表 18
2.3.2 单链表上基本运算的实现 20
2.3.3 循环链表 26
2.3.4 单链表应用示例 26
习题2 29
第3章 栈和队列 32
3.1 栈 32
3.1.1 栈的定义及基本运算 32
3.1.2 栈的存储结构和运算实现 32
3.2 队列 37
3.2.1 队列的定义及基本运算 37
3.2.2 队列的存储结构和运算实现 38
习题3 44
第4章 树与二叉树 48
4.1 树的基本概念 48
4.1.1 树的概念与定义 48
4.1.2 树的基本术语 49
4.2 二叉树 50
4.2.1 二叉树的定义 50
4.2.2 二叉树的性质 52
4.2.3 二叉树的存储结构 53
4.3 二叉树的遍历 55
4.3.1 二叉树的遍历方法 55
4.3.2 遍历二叉树的递归算法及遍历示例 56
4.3.3 二叉树遍历的应用 59
4.4 二叉排序树 62
4.4.1 二叉排序树的定义 62
4.4.2 二叉排序树的插入操作和二叉排序树的构造 63
4.5 哈夫曼树 66
4.5.1 哈夫曼树基本概念及构造方法 66
4.5.2 哈夫曼算法的实现 68
4.6 树和森林 70
4.6.1 树的定义与存储结构 70
4.6.2 树、森林与二叉树之间的转换 71
4.6.3 树和森林的遍历 73
习题4 74
第5章 图 79
5.1 图的基本概念 79
5.1.1 图的定义 79
5.1.2 图的基本术语 80
5.2 图的存储结构 82
5.2.1 邻接矩阵 82
5.2.2 邻接表 83
5.3 图的遍历 86
5.3.1 深度优先搜索 86
5.3.2 广度优先搜索 89
5.3.3 图的应用 91
习题5 92
第6章 查找 96
6.1 查找的基本概念 96
6.2 静态查找表 96
6.2.1 顺序查找 96
6.2.2 有序表的查找 98
6.3 动态查找表 103
6.3.1 二叉排序树查找 103
6.3.2 哈希表构造与查找 104
习题6 111
第7章 排序 115
7.1 基本概念 115
7.2 插入排序 115
7.3 交换排序 117
7.3.1 冒泡排序 117
7.3.2 快速排序 119
7.4 选择排序 122
7.5 归并排序 123
习题7 126
第2篇 技术篇 129
第8章 软件工程技术 129
8.1 软件工程基本知识 129
8.1.1 概述 129
8.1.2 软件和软件危机 129
8.1.3 软件工程的定义 130
8.2 软件开发模型 131
8.2.1 瀑布模型 131
8.2.2 快速原型模型 132
8.2.3 增量模型 133
8.2.4 螺旋模型 133
8.2.5 喷泉模型 133
8.3 软件生命周期 134
8.3.1 软件定义 135
8.3.2 软件设计 138
8.3.3 软件编码 142
8.3.4 软件测试 144
8.3.5 软件维护 150
8.4 软件工程技术发展趋势 150
习题8 153
第9章 数据库技术 155
9.1 数据库的基本知识 155
9.1.1 数据库的基本概念 155
9.1.2 数据库系统模型 156
9.2 关系模型及关系数据库 156
9.2.1 关系模型 156
9.2.2 关系数据库 157
9.3 数据库系统结构 158
9.3.1 数据库系统模式 158
9.3.2 数据库系统的三级模式结构 158
9.4 数据库设计 159
9.4.1 数据规范化 159
9.4.2 数据库设计的一般步骤 160
9.4.3 数据库概念结构设计 160
9.4.4 数据库逻辑结构设计 161
9.4.5 数据库物理结构设计 162
9.5 关系数据库结构化查询语言SQL 163
9.5.1 SQL的特点 163
9.5.2 SQL支持的关系数据模式 164
9.5.3 数据定义 165
9.5.4 查询 168
9.5.5 数据更新 175
9.5.6 视图 178
9.5.7 数据控制 182
9.6 动态SQL 183
9.6.1 静态SQL语句 183
9.6.2 动态SQL 184
9.7 数据库技术及SQL发展趋势 184
习题9 185
第10章 统一建模语言UML 187
10.1 UML基本知识 187
10.1.1 UML发展历史 187
10.1.2 UML基本概念 188
10.1.3 UML特点 189
10.2 面向对象分析技术与UML 189
10.2.1 面向对象分析技术 189
10.2.2 采用UML进行面向对象分析 189
10.3 UML建模工具 190
10.4 UML视图建模 191
10.4.1 软件系统需求分析视图 192
10.4.2 软件系统的分析与设计视图 194
10.4.3 软件系统的实现与配置视图 196
10.5 应用实例——汽车租赁系统 198
10.5.1 汽车租赁系统的需求分析 198
10.5.2 系统的UML基本模型 198
10.5.3 汽车租赁系统中的类设计 205
10.5.4 汽车租赁系统的配置图与实现图设计 207
习题10 208
第3篇 应用篇 211
第11章 Web网页设计 211
11.1 Web概述 211
11.1.1 Web的定义 211
11.1.2 Web的工作原理 212
11.1.3 常用的Internet网络协议 213
11.1.4 IP地址、域名和URL 214
11.2 标记语言 216
11.2.1 超文本标记语言HTML 216
11.2.2 可扩展标记语言XML 218
11.3 Web开发环境 218
11.3.1 服务器端开发环境 219
11.3.2 客户端开发环境 219
11.3.3 网页设计工具Dreamweaver MX 219
11.4 脚本语言 223
11.4.1 JavaScript脚本语言 223
11.4.2 VBScript脚本语言 230
11.4.3 其他脚本语言 234
11.5 页面设计 234
11.6 Web数据库访问技术 240
11.6.1 概述 240
11.6.2 Web数据库访问技术 240
11.7 应用实例 242
11.7.1 网上作业提交和批改系统需求分析 242
11.7.2 网上作业提交和批改系统数据库设计 244
11.7.3 网上作业提交和批改系统用户界面设计 244
11.7.4 网上作业提交和批改系统与数据库连接及SQL操作 247
11.7.5 网上作业提交和批改系统软件设计 248
11.8 Web技术发展趋势 259
习题11 262
参考文献 265