图书目录

第1章绪论/1

1.1引言/1

1.1.1几个实例/1

1.1.2数据结构的产生和发展/3

1.2数据结构/4

1.2.1基本概念和术语/4

1.2.2数据结构定义/5

1.2.3数据类型和抽象数据类型/7

1.3算法定义、描述和分析/10

1.3.1算法定义/10

1.3.2算法设计技术/11

1.3.3算法描述/12

1.3.4算法分析/13

1.4小结/18

习题1/18第2章基本线性结构——线性表/20

2.1概述/20

2.1.1线性表的概念/20

2.1.2线性表的类型定义/22

2.2顺序表/23

2.2.1线性表的顺序表示/23

2.2.2顺序表的实现/23

2.3链表/28

2.3.1线性表的链式表示/28

2.3.2线性链表的实现/28

2.3.3循环链表的实现/33

2.3.4双向链表的实现/34

2.3.5静态链表的实现/35

2.4算法设计举例/362.5小结/39

习题2/40第3章限定性线性结构——栈和队列/41

3.1栈/41

3.1.1栈的类型定义/41

3.1.2顺序栈的表示和实现/42

3.1.3链栈的表示和实现/45

3.2队列/47

3.2.1队列的类型定义/47

3.2.2顺序队列的表示和实现/48

3.2.3链队的表示和实现/51

3.3算法设计举例/53

3.4小结/59

习题3/59第4章特殊线性结构——串/61

4.1概述/61

4.1.1串的概念/61

4.1.2串的逻辑定义/62

4.2串的表示和实现/63

4.2.1串的顺序存储表示/63

4.2.2串的链式存储表示/66

4.3模式匹配/67

4.3.1概念/67

4.3.2模式匹配的基本算法(BF算法)/67

4.3.3KMP算法/69

4.3.4Horspool算法和BoyerMoore算法/72

4.4算法设计举例/77

4.5小结/78

习题4/79第5章扩展线性结构——数组和广义表/80

5.1数组/80

5.1.1数组的定义/80

5.1.2数组的存储表示/81

5.2矩阵的压缩存储/83

5.2.1特殊矩阵/84

5.2.2稀疏矩阵/85

5.3广义表/89

5.3.1广义表的定义/89

5.3.2广义表的存储结构/91

5.4算法设计举例/94

5.5小结/96

习题5/96第6章树形结构——树和二叉树/98

6.1树的定义和术语/98

6.1.1树的定义/98

6.1.2树的基本术语/99

6.1.3树的表示/100

6.1.4树的遍历/101

6.2二叉树/101

6.2.1二叉树的定义/101

6.2.2二叉树的性质/102

6.2.3二叉树的存储结构/104

6.2.4遍历二叉树/106

6.2.5线索二叉树/109

6.2.6二叉树算法设计举例 /113

6.3树和森林/115

6.3.1树的存储结构/116

6.3.2树、森林与二叉树的转换/118

6.3.3森林的遍历/120

6.4哈夫曼树及其应用/121

6.4.1哈夫曼树/121

6.4.2哈夫曼编码/122

6.4.3哈夫曼编码的实现/123

6.5小结/126

习题6/126第7章图形结构——图/128

7.1图的基本概念/128

7.1.1图的定义/128

7.1.2基本术语/130

7.2图的表示和实现/132

7.2.1邻接矩阵/132

7.2.2邻接表/134

7.2.3十字链表/137

7.2.4邻接多重表/138

7.3图的遍历/139

7.3.1深度优先搜索/139

7.3.2广度优先搜索/142

7.4图的典型应用算法设计/144

7.4.1生成树和最小生成树/145

7.4.2拓扑排序/150

7.4.3关键路径/153

7.4.4最短路径/161

7.5小结/165

习题7/165第8章常用算法I——查找/167

8.1基本概念/167

8.1.1查找的定义/167

8.1.2基本术语/168

8.2线性表的查找/169

8.2.1顺序查找/169

8.2.2二分查找/170

8.2.3分块查找/173

8.3树表查找/174

8.3.1二叉排序树/174

8.3.2平衡二叉树/181

8.3.3B树/189

8.4散列查找/197

8.4.1散列表/197

8.4.2散列函数的构造方法/199

8.4.3处理冲突的方法/201

8.4.4散列表的查找及分析 /204

8.5自组织线性表/207

8.6小结/209

习题8/210第9章常用算法II——排序/211

9.1概述/211

9.2内部排序/212

9.2.1直接插入排序和希尔排序/212

9.2.2冒泡排序和快速排序/215

9.2.3简单选择排序和堆排序/220

9.2.4归并排序/223

9.2.5基数排序/225

9.2.6其他内部排序方法/229

9.2.7内部排序效益评估/231

9.3外部排序/231

9.3.1外部排序方法/232

9.3.2自然归并/233

9.3.3多路平衡归并/234

9.3.4置换选择排序/235

9.3.5最佳归并树/236

9.4小结/237

习题9/237

参考文献/238

第1章计算机基础知识/1

1.1计算机概述/1

1.1.1计算机发展简史/1

1.1.2计算机的分类/3

1.1.3微机发展简史/4

1.1.4计算机的特点/5

1.1.5计算机的发展趋势/6

1.1.6计算机的应用领域/7

1.2计算机信息技术基础/8

1.2.1信息和数据/8

1.2.2信息的特征/9

1.2.3计算机处理信息的过程/10

1.2.4信息高速公路/10

1.3数制转换/11

1.3.1数字化信息编码的概念/11

1.3.2进位计数制/11

1.3.3不同进制之间的转换/13

1.3.4二进制数在计算机内的表示/15

1.4计算机中的信息编码/18

1.4.1二\|十进制BCD码/18

1.4.2西文字符编码/18

1.4.3汉字的编码表示/20

1.4.4汉字的输入/22

1.5计算机系统组成/22

1.5.1冯·诺依曼结构的计算机硬件系统/22

1.5.2软件系统/24

1.5.3计算机的工作过程/26

1.6微型计算机的硬件组成/26

1.6.1微机的硬件组成/26

1.6.2微机的主要性能和配置/33

1.7多媒体技术/34

1.7.1多媒体技术概念/34

1.7.2多媒体计算机的组成/35

1.7.3多媒体设备和接口/35

1.7.4多媒体技术的应用/37

1.7.5常见多媒体文件格式简介/38第2章Windows XP操作系统/41

2.1操作系统概述/41

2.1.1操作系统基础知识/41

2.1.2典型的操作系统/43

2.2中文Windows XP基础知识/45

2.2.1Windows XP概述/45

2.2.2Windows XP的基本概念、术语及其基本操作/48

2.3Windows XP磁盘文件管理/61

2.3.1Windows XP中文件及文件夹的浏览/61

2.3.2在Windows XP中文件及文件夹的管理/63

2.3.3Windows XP磁盘的管理/76

2.4Windows XP的设置/78

2.4.1控制面板的概念/78

2.4.2显示器的设置/78

2.4.3输入设备的设置/81

2.4.4“开始”菜单的设置/82

2.4.5设置输入法/83

2.4.6添加硬件/84

2.4.7添加/删除程序/85

2.4.8打印机的设置/88

2.4.9其他辅助设置 /91

2.5Windows XP附件的使用/93

2.5.1记事本的使用/93

2.5.2画图的使用/94

2.5.3Windows XP系统工具的使用/96

2.5.4计算器的使用/97

2.5.5Windows XP中的多媒体应用程序/98第3章Word 2003及应用/102

3.1启动Word 2003/102

3.1.1使用“开始”菜单启动Word/102

3.1.2使用桌面快捷方式启动Word/102

3.1.3打开已有的Word文档启动Word/102

3.2Word 2003窗口/103

3.2.1标题栏/104

3.2.2菜单栏/104

3.2.3工具栏/105

3.2.4标尺/107

3.2.5编辑区/108

3.2.6滚动条/108

3.2.7状态栏/108

3.2.8任务窗格/108

3.3创建新文档/109

3.3.1创建空白文档/110

3.3.2使用本机上的模板创建新文档/110

3.4文档内容的录入/111

3.4.1文档录入基础/112

3.4.2输入中英文文字和符号/112

3.4.3插入对象/113

3.5保存和关闭文档/115

3.5.1保存文档/115

3.5.2关闭文档/118

3.6打开文档/118

3.6.1打开一个文档/118

3.6.2同时打开多个文档/120

3.7视图方式和其他显示方式/121

3.7.1普通视图方式/121

3.7.2页面视图方式/122

3.7.3Web版式视图方式/122

3.7.4大纲视图方式/122

3.7.5阅读版式视图方式/123

3.7.6文档结构图/123

3.7.7全屏显示/124

3.7.8设置显示比例/124

3.7.9拆分窗口/125

3.7.10显示或隐藏非打印字符/126

3.8文档的编辑与排版/126

3.8.1文档的基本编辑/126

3.8.2字符格式设置/131

3.8.3段落格式设置/135

3.8.4美化文档及排版/138

3.8.5页面设置/147

3.8.6查找与替换/148

3.8.7拼写和语法检查/150

3.8.8打印预览及打印/152

3.8.9样式和模板/154

3.9表格应用/157

3.9.1创建表格/157

3.9.2数据输入与表格选择/161

3.9.3编辑表格/162

3.9.4设置表格格式/168

3.9.5表格计算与排序/172

3.10图形对象处理/174

3.10.1绘制的图形/174

3.10.2插入与编辑图片/185

3.10.3艺术字/191

3.10.4文本框与图文混排/194

3.10.5公式编辑器/197第4章Excel 2003及应用/201

4.1Excel 2003基础/201

4.1.1Excel 2003窗口/201

4.1.2工作簿的基本操作/205

4.1.3保护工作簿/208

4.2工作表的编辑/209

4.2.1数据输入/209

4.2.2工作表的编辑/215

4.2.3工作表的操作/221

4.3工作表中数值计算/223

4.3.1使用公式/223

4.3.2使用函数/228

4.4工作表的格式设置/232

4.4.1单元格格式设置/232

4.4.2页面设置及打印/242

4.5数据管理/246

4.5.1数据清单的概念/246

4.5.2数据排序/247

4.5.3数据筛选/249

4.5.4数据分类汇总/252

4.6数据图表化/254

4.6.1图表的基础知识/254

4.6.2创建与编辑图表/257

4.7Word与Excel的协同操作/263第5章PowerPoint 2003及应用/265

5.1PowerPoint 2003基础/265

5.1.1PowerPoint 2003的启动/265

5.1.2PowerPoint 2003的窗口/265

5.1.3视图方式/266

5.2创建演示文稿/267

5.2.1从空白演示文稿开始创建/268

5.2.2根据内容提示向导创建演示文稿/269

5.2.3根据设计模板创建演示文稿/270

5.2.4根据现有演示文稿创建演示文稿/272

5.3幻灯片的制作和编辑/273

5.3.1幻灯片的制作/273

5.3.2幻灯片的制作/273

5.4幻灯片的编辑和基本格式设置/281

5.4.1选择幻灯片/281

5.4.2文本的编辑和格式设置/282

5.4.3删除、隐藏和重排幻灯片/284

5.5幻灯片的修饰/286

5.5.1幻灯片版式/286

5.5.2背景/286

5.5.3应用设计模板/288

5.5.4应用配色方案/289

5.5.5应用母版/290

5.5.6页眉和页脚/291

5.6演示文稿放映与打包/292

5.6.1设置动画效果/292

5.6.2设置切换效果和切换时间/295

5.6.3录制旁白/296

5.6.4超链接/297

5.6.5设置放映方式/299

5.6.6 幻灯片放映方法/301

5.6.7演讲者放映方式下的放映控制/302

5.6.8演示文稿的打印/303

5.6.9演示文稿的打包/304第6章Access 2003及应用/306

6.1数据库系统简介/306

6.1.1数据库的概念/306

6.1.2数据库技术的产生和发展/307

6.1.3数据模型/308

6.1.4Access简介/311

6.2Access 2003的基本操作/312

6.2.1启动与退出Access 2003/312

6.2.2Access数据库对象/312

6.2.3数据库基本操作/314

6.3表及应用/318

6.3.1表简介/318

6.3.2表的建立/319

6.3.3数据的编辑/323

6.3.4建立表间关系/325

6.4查询及应用/327

6.4.1查询的概念/327

6.4.2查询的建立/328

6.4.3查询的基本操作/330

6.5窗体及应用/332

6.5.1窗体的概念/332

6.5.2窗体的建立/333

6.5.3利用窗体进行数据处理/337

6.6打印/339

6.6.1记录的打印/339

6.6.2窗体的打印/339

6.6.3报表的打印/340第7章计算机网络及Internet/343

7.1计算机网络基础知识/343

7.1.1计算机网络的发展/343

7.1.2计算机网络的分类/344

7.1.3计算机网络的功能/346

7.1.4计算机网络体系结构和网络协议的基本概念/346

7.1.5物理地址和逻辑地址/349

7.1.6计算机网络硬件/349

7.2Internet基础知识/351

7.2.1Internet的发展史及其特点/351

7.2.2Internet提供的服务/352

7.2.3Internet的组成/354

7.2.4IP地址和域名/354

7.2.5Internet在中国/357

7.3Internet常用接入方式/358

7.3.1通过电话拨号接入Internet/359

7.3.2通过局域网接入Internet/364

7.3.3通过ADSL接入Internet/365

7.3.4断开Internet连接/366

7.4诊断网络故障的简单命令/366

7.5WWW与IE浏览器/368

7.5.1WWW的基本概念/368

7.5.2IE的基本应用/370

7.5.3在Internet上搜索和下载信息/375

7.5.4IE的基本设置/378

7.6FTP与BBS/381

7.6.1FTP/381

7.6.2BBS/383

7.7电子邮件服务/385

7.7.1电子邮箱简介/385

7.7.2申请一个免费的电子邮箱/386

7.8使用Outlook Express收发电子邮件/387

7.8.1邮件账户/388

7.8.2创建并发送电子邮件/391

7.8.3接收和阅读电子邮件/395

7.8.4邮件管理和通讯簿/396第8章计算机病毒及网络信息安全/402

8.1计算机病毒/402

8.1.1病毒历史/402

8.1.2病毒的定义与特性/403

8.1.3病毒的结构及分类/404

8.1.4常见病毒介绍/405

8.1.5计算机病毒的传染与症状/407

8.1.6病毒的预防与清除/407

8.2网络信息安全/409

8.2.1网络信息安全概述/409

8.2.2网络黑客/410

8.2.3计算机犯罪/411

8.2.4信息安全技术/413第9章网页制作/416

9.1HTML 概述/416

9.1.1HTML和页面/416

9.1.2HTML文件/417

9.2FrontPage 2003及应用/418

9.2.1FrontPage的启动与退出/421

9.2.2FrontPage中的视图/421

9.2.3FrontPage的编辑方式/422

9.2.4网页制作/422

9.2.5网页布局/432

9.2.6创建表单页面/439

9.2.7网页的发布/440

第1章走进Qt/1

1.1Qt简介/1

1.1.1认识Qt/1

1.1.2Qt开发环境的主要构成介绍/2

1.1.3使用Qt开发C++应用程序的优势/4

1.2Qt的下载、安装与配置/4

1.2.1Windows平台下Qt的C++语言开发环境安装与配置/4

1.2.2Linux平台下Qt的C++语言开发环境安装与配置/7

1.3Qt Creator集成开发环境/12

1.3.1Qt Creator集成开发环境/12

1.3.2Qt Creator常用菜单功能介绍/13

1.3.3使用Qt创建项目/14

1.3.4Qt开发环境的使用方法/18

1.3.5Qt项目文件的建立、添加和删除/18

1.3.6编辑项目的源程序文件和界面文件/19

1.3.7项目编译模式及其配置/20

1.3.8编译并链接生成项目文件/20

1.3.9纠正编译或连接出现的错误/20

1.3.10Qt工具栏的使用/21

1.4Qt Creator联机帮助系统及其使用/21

1.4.1Qt中如何寻求帮助/21

1.4.2帮助文件的打开及使用源代码

编辑器/22

1.4.3缩小查找范围/23

1.5使用Qt Creator开发C++语言程序/24

1.5.1Windows平台下使用Qt开发C++语言程序/24

1.5.2Linux平台下使用Qt开发C++语言程序/29

1.6习题/36第2章C++程序设计基础/37

2.1C++语言简介/37

2.1.1认识C++/37

2.1.2C++的标准化/37

2.2C++源程序的结构/38

2.2.1C++源程序举例/38

2.2.2C++源程序的结构/40

2.2.3C++语言的基本语法成分/41

2.3基本数据与表达式/42

2.3.1数据类型/42

2.3.2常量和变量/44

2.3.3运算符与表达式/46

2.4C++中的输入输出/47

2.5程序的控制结构/50

2.5.1顺序结构/50

2.5.2选择结构/50

2.5.3循环结构/55

2.5.4跳转语句/58

2.6函数/59

2.6.1函数/59

2.6.2函数的其他特性/62

2.7数组与字符串/65

2.7.1数组/65

2.7.2字符串与string类/67

2.8指针与引用/70

2.8.1指针/70

2.8.2引用/71

2.9const修饰符/76

2.10动态内存分配/79

2.11习题/82

2.11.1选择题/82

2.11.2填空题/83

2.11.3编程题/84第3章类与对象/85

3.1面向对象程序设计概述/85

3.1.1面向对象的基本概念/85

3.1.2面向对象的基本特征/88

3.1.3面向对象的语言简介/89

3.2类与对象的定义/90

3.2.1类的定义/90

3.2.2对象的定义与使用/97

3.2.3类的作用域/101

3.2.4类的封装性和信息隐藏——公有接口与私有实现的分离/102

3.3构造函数与析构函数/104

3.3.1构造函数/104

3.3.2复制构造函数/113

3.3.3析构函数/118

3.4对象的深复制/120

3.5静态成员/122

3.5.1静态数据成员/122

3.5.2静态成员函数/124

3.6常类型/127

3.6.1常对象/127

3.6.2类的常数据成员/128

3.6.3类的常成员函数/129

3.7友元/131

3.7.1友元函数/131

3.7.2友元类/136

3.7.3友元应用举例/138

3.8对象数组与类的组合/140

3.8.1对象数组/140

3.8.2类的组合/144

3.9程序举例/147

3.10习题/149

3.10.1选择题/149

3.10.2问答及编程题/152第4章继承与派生/154

4.1单继承/155

4.1.1继承的定义/155

4.1.2访问控制/157

4.1.3重名的成员变量和成员函数/160

4.1.4在派生类中访问静态成员/162

4.1.5基类的初始化/163

4.2多继承/168

4.2.1派生类的构造与访问/168

4.2.2虚继承/169

4.3习题/170第5章虚函数与多态/171

5.1类指针的关系/172

5.2静态联编和动态联编/174

5.3虚函数/175

5.4纯虚函数和抽象类/178

5.5习题/181第6章运算符重载/182

6.1运算符重载概述/183

6.1.1运算符重载的实质/183

6.1.2用友元函数和成员函数重载运算符的异同/186

6.1.3++和--运算符的重载/188

6.2习题/191第7章模板和异常处理/192

7.1模板的概念/192

7.2函数模板/192

7.2.1函数模板的声明/192

7.2.2函数模板的实例化/193

7.2.3函数模板应用举例/195

7.3类模板/197

7.3.1类模板的定义/197

7.3.2类模板的实例化/198

7.3.3类模板的应用举例/199

7.4标准模板库/202

7.4.1容器/203

7.4.2算法/206

7.4.3迭代器/209

7.5异常处理/210

7.5.1异常处理概述/210

7.5.2异常处理的实现/211

7.5.3标准库中的异常类型/216

7.6习题/218

7.6.1选择题/218

7.6.2编程题/218第8章输入输出流与命名空间/220

8.1I/O流的概念/220

8.2标准I/O流/221

8.2.1标准I/O流概述/221

8.2.2标准输出/222

8.2.3标准输入/224

8.2.4重载插入/提取函数/225

8.3格式控制/228

8.3.1用ios成员函数格式化/228

8.3.2用操纵算子格式化/231

8.4文件处理/232

8.4.1文件和流/232

8.4.2文件的打开和关闭/233

8.4.3文本文件/234

8.4.4二进制文件/235

8.5命名空间/238

8.6习题/241第9章图形界面程序设计基础/242

9.1图形界面程序设计基础知识/242

9.1.1C++中的对象/242

9.1.2Qt C++中的窗体/243

9.1.3Qt C++中的部件和部件类/243

9.1.4Qt C++中的属性(Properties)窗口/244

9.2Qt的信号和槽/244

9.3Qt的元对象系统/246

9.4Qt命令行法开发图形界面程序/246

9.5Qt中如何实现用户操作的响应/249

9.6Qt中如何实现窗口部件的布局/250

9.7习题/252第10章对话框编程/254

10.1代码编程创建对话框/254

10.2对话框的可视化设计/263

10.3可扩展的对话框/271

10.4对话框的动态实现/279

10.5Qt内置的窗口部件和对话框类/280

10.6习题/285第11章使用Qt开发文本编辑器/286

11.1Qt Creator的下载和安装/286

11.2Qt Creator开发简单的文本编辑器/287

11.2.1创建项目TextEditor/287

11.2.2TextEditor的主窗口、菜单和

图标/289

11.2.3TextEditor文件新建、保存和另存为的功能实现/300

11.2.4TextEditor文件的打开、关闭和退出系统的功能实现/308

11.2.5TextEditor文本复制、剪切、粘贴以及撤销的功能实现/309

11.2.6TextEditor文本查找功能的

实现/310

11.2.7TextEditor查找和定位函数的

方法/311

11.2.8TextEditor中实现状态栏/316

11.3习题/318附录AC++关键字/319附录BC++运算符/320

参考文献/321