第1章 数据结构与算法 1
1.1算法 1
1.1.1算法的基本概念 1
1.1.2算法复杂度 5
1.2数据结构的基本概念 6
1.2.1什么是数据结构 6
1.2.2数据结构的图形表示 8
1.2.3线性结构与非线性结构 8
1.3线性表及其顺序存储结构 9
1.3.1线性表的基本概念 9
1.3.2线性表的顺序存储结构 9
1.3.3线性表的插入运算 10
1.3.4线性表的删除运算 12
1.4栈和队列 13
1.4.1栈及其基本运算 13
1.4.2队列及其基本运算 14
1.5线性链表 16
1.5.1线性链表的基本概念 17
1.5.2线性链表的基本运算 19
1.5.3循环链表及其基本运算 20
1.6树和二叉树 21
1.6.1树的基本概念 21
1.6.2二叉树及其基本性质 23
1.6.3二叉树的存储结构 25
1.6.4二叉树的遍历 26
1.7查找技术 28
1.7.1顺序查找 28
1.7.2二分法查找 28
1.8排序技术 29
1.8.1交换类排序法 29
1.8.2插入类排序法 32
1.8.3选择类排序法 34
1.8.4排序方法比较 35
本章小结 36
巩固练习 36
第2章 程序设计基础 39
2.1程序设计方法与风格 39
2.2结构化程序设计 41
2.2.1结构化程序设计的原则 41
2.2.2结构化程序设计的基本结构 41
2.2.3结构化程序设计原则和方法的应用 44
2.3面向对象的程序设计 44
2.3.1面向对象方法的基本概念 44
2.3.2面向对象方法的优点 47
本章小结 50
巩固练习 50
第3章 软件工程基础 51
3.1软件工程基本概念 51
3.1.1软件定义与软件特点 51
3.1.2软件危机与软件工程 52
3.1.3软件工程过程与软件生命周期 53
3.1.4软件工程的目标与原则 54
3.1.5软件开发工具与软件开发环境 56
3.2结构化分析方法 56
3.2.1需求分析与需求分析方法 56
3.2.2结构化分析方法 57
3.2.3软件需求规格说明书 61
3.3结构化设计方法 63
3.3.1软件设计概述 63
3.3.2概要设计 65
3.3.3详细设计 69
3.4软件测试 72
3.4.1软件测试的目的 72
3.4.2软件测试的准则 73
3.4.3软件测试技术和方法综述 73
3.4.4软件测试的实施 78
3.5程序的调试 81
3.5.1程序调试的基本概念 81
3.5.2程序调试方法 82
本章小结 84
巩固练习 84
第4章 数据库设计基础 85
4.1数据库系统的基本概念 85
4.1.1数据、数据库、数据库管理系统 85
4.1.2数据库系统的发展 89
4.1.3数据库系统的基本特点 90
4.1.4数据库系统体系结构 91
4.2数据模型 93
4.2.1数据模型的基本概念 94
4.2.2 E-R模 94
4.2.3层次模型 98
4.2.4网状模型 99
4.2.5关系模型 99
4.3关系代数 102
4.3.1关系代数的基本操作 102
4.3.2关系模型的基本运算 102
4.3.3关系代数的扩充运算 104
4.3.4关系代数的应用实例 107
4.4数据库设计与管理 108
4.4.1数据库设计概述 108
4.4.2数据库设计的需求分析 109
4.4.3数据库概念设计 110
4.4.4数据库逻辑设计 113
4.4.5数据库物理设计 115
4.4.6数据库管理 115
本章小结 116
巩固练习 116
附录 巩固练习参考答案 119