图书目录

目录

第1部分基 础 知 识

第1章绪论3

1.1数据结构的基本概念3

1.2算法和算法分析4第2章线性表6

2.1线性表的逻辑结构6

2.2线性表的顺序存储结构7

2.3线性表的链式存储结构7第3章栈和队列9

3.1栈9

3.2队列10

3.3优先队列12第4章串13

4.1串类型的定义13

4.2字符串模式匹配算法13第5章数组和广义表16

5.1数组16

5.2矩阵17

5.3广义表19第6章树和二叉树22

6.1树的基本概念22

6.2二叉树23

6.3二叉树遍历25

6.4线索二叉树26

6.5树和森林的实现27

6.6哈夫曼树与哈夫曼编码32

6.7树的计数33第7章图35

7.1图的定义和术语35

7.2图的存储表示38

7.3图的遍历40

7.4连通无向网的最小代价生成树40

7.5有向无环图及应用41

7.6最短路径41第8章查找43

8.1查找的基本概念43

8.2静态查找表43

8.3动态查找表43

8.4哈希表47第9章排序50

9.1概述50

9.2插入排序51

9.3交换排序51

9.4选择排序51

9.5归并排序52

9.6基数排序52

9.7外部排序53

第10章文件55

10.1主存储器和辅助存储器55

10.2各种常用文件结构55

第11章算法设计与分析56

11.1算法设计56

11.2算法分析58

第2部分实验

实验1石头、剪刀、布61

实验221点70

实验3不带头节点形式的单链表80

实验4任意大非负整数的任意大非负整数次方93

实验5病人就医管理102

实验6利用后缀表达式计算中缀表达式的值107

实验7文本串的加密115

实验8改造串类120

实验9螺旋方阵130

实验10引用数使用空间表法广义表存储结构134

实验11用二叉树表示表达式147

实验12改进哈夫曼树类153

实验13求最小生成树的Kruskal的算法改进161

实验14图的根顶点166

实验15链地址法处理冲突的哈希表170

实验16字符统计177

实验17改造快速排序算法181实验18改造基数排序算法186

实验19学生基本信息管理193

实验20电话号码的查找205

实验21农夫过河问题216

实验22n皇后问题225

第3部分课 程 设 计

项目1算术表达式求值233

项目2停车场管理系统237

项目3电话客户服务模拟器244

项目4简单文本编辑器250项目5压缩软件260

项目6排课软件271

项目7公园导游系统282

项目8理论计算机科学家族谱的文档/视图模式288

项目9动物游戏296

项目10简单个人图书管理系统302

项目11词典变位词检索系统311

参考文献316

附录A本书配套软件包318

附录B实验报告格式324

附录C课程设计报告格式325

附录D流行C++开发环境的使用方法326