算法与数据结构:C与C++描述

算法与数据结构:C与C++描述
作 者: 陈松乔
出版社: 北方交通大学出版社
丛编项: 高等学校计算机科学与技术教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《算法与数据结构:C与C++描述》作者简介

内容简介

书系统地介绍了算法和数据结构的有关概念、原理、方法和技巧。全书共分9章。第1章介绍算法和数据结构的基本概念,然后按照线性表、树、图、排序和查找的顺序,详尽简述各种数据结构的概念。对各种数据结构的存储结构和算法用C/C++语言给出了其抽象数据类型定义,并对给出的算法进行了初步的算法分析。全书内容新颖,力求理论联系实际、深入浅出和循序渐进。每章均附有习题。《高校教材:算法与数据结构(C与C++描述)》主要作为高等学校计算机科学与技术专业本科“算法与数据结构”课程教材,亦可作为其他相关专业的教学用书,或作为从事软件开发人员的参考书和培训教材。

图书目录

第1章 绪论

1. 1 基本概念与术语

1. 1. 1 数据和数据结构

1. 1. 2 数据结构的研究内容

1. 2 抽象数据类型

1. 3 算法与算法分析

1. 3. 1 问题. 算法和程序

1. 3. 2 算法分析

习题

第2章 线性结构

2. l 线性结构及其抽象数据类型ADT定义

2. 1. 1 线性表的定义

2. 1. 2 线性表的基本运算

2. 1. 3 线性表的ADT定义

2. 2 线性表的存储和操作的实现

2. 2. 1 线性表的顺序存储

2. 2. 2 顺序存储结构下线性表运算的实现

2. 2. 3 线性表的链式存储结构

2. 2. 4 线性链表的操作

2. 2. 5 线性表的应用

2. 3 数组的定义和存储

2. 3. l 一维数组

2. 3. 2 多维数组

2. 3. 3 数组的存储结构

2. 3. 4 矩阵运算的实现

2. 4 特殊矩阵的存储及其运算的实现

2. 4. 1 稀疏矩阵

2. 4. 2 稀疏矩阵的三元组表示

2. 4. 3 稀疏矩阵的抽象数据类型ADT定义

2. 4. 4 稀疏矩阵的存储结构

2. 4. 5 特殊矩阵的压缩存储

习题

第3章 堆栈和队列

3. 1 堆栈的概念及其运算

3. 1. 1 堆栈的定义

3. 1. 2 栈的抽象数据类型ADT定义

3. 1. 3 堆栈的存储结构

3. 2 队列的概念及其运算

3. 2. 1 队列的定义

3. 2. 2 队列的抽象数据类型ADT

3. 2. 3 队列的存储结构

3. 3 应用实例

3. 3. 1 栈与递归

3. 3. 2 表达式的求值

3. 3. 3 离故事件模拟

习题

第4章 链表

4. 1 线性链表

4. 1. l 结点和链表概念

4. 1. 2 单向链表的存储和操作实现

4. 1. 3 线性链表举例

4. 1. 4 静态链表及其操作实现

4, 1. 5 链式堆栈和队列的操作实现

4. 1. 6 循环链表

4. 1. 7 双向链表及其运算

4. 2 非线性链表

4. 2. 1 超文本模型

4. 2. 2 十字链表

4. 2. 3 广义表

4. 3 链表应用

4. 4 文件概念及其操作

4. 4. l 文件概述

4. 4. 2 文件的存储媒介

4. 4. 3 文件的基本操作

4. 4. 4 文件的基本物理存储方式

习题

第5章 串

5. 1 串的概念及其ADT定义

5. 1. l 串的概念

5. 1. 2 串的ADT定义

5. 2 串的存储结构

5. 2. 1 串的顺序存储结构

5. 2. 2 堆分配存储结构

5. 2. 3 块链存储结构

5. 3 串的模式匹配算法

5. 3. 1 模式匹配函数的实现

5. 3. 2 模式匹配的一种改进算法

习题

第6章 树和二叉树

6. 1 树的定义和基本术语

6. 1. 1 树的形式定义

6. 1. 2 树的基本术语

6. 1. 3 树的ADT定义

6. 2 树的存储结构

6. 2. l 树的线性存储

6. 2. 2 树的链式存储

6. 2. 3 基本操作的实现

6. 3 二叉树

6. 3. 1 二叉树定义及其基本性质

6. 3. 2 二叉树的存储实现

6. 3. 3 基本操作的实现

6. 4 二叉树的遍历

6. 4. 1 二叉树的遍历

6. 4. 2 二叉树的非递归实现

6. 4. 3 线索树

6. 4. 4 树的遍历

6. 4. 5 树. 森林和二叉树的相互转换

6. 5 Huffinan树与Hufftnan编码

6. 5. l 最优二叉树

6. 5. 2 Huffman编码

6. 5. 3 Huffman编码的存储和算法实现

习题

第7章 图

7. 1 图的基本概念和ADT定义

7. 1. l 图的定义

7. 1. 2 图的术语

7. 1. 3 图的ADT定义

7. 2 图的存储结构

7. 2. l 图的数组存储结构--邻接矩阵

7. 2. 2 图的链式存储结构(一)--邻接表

7. 2. 3 图的链式存储结构(二)--邻接多重表

7. 3 图的遍历

7. 3. 1 深度优先搜索

7. 3. 2 广度优先搜索

7. 4 最小生成树

7. 4. 1 最小生成树概念

7. 4. 2 Prim算法

7. 4. 3 Kruskal算法

7. 5 拓扑排序

7. 5. 1 有向无环图

7. 5. 2 拓扑排序

7. 5. 3 关键路径

7. 6 图的最短路径

7. 6. 1 从某个源点到其余各顶点的最短路径

7. 6. 2 所有顶点间的最短路径

习题

第8章 排序

8. 1 概述

8. 2 插入排序

8. 2. 1 直接插入排序

8. 2. 2 折半插人排序

8. 2. 3 希尔排序

8. 3 交换排序

8. 3. 1 冒泡排序

8. 3. 2 快速排序

8. 4 选择排序

8. 5 基数排序

8. 6 归并排序

8. 7 各种内部排序算法的比较

8. 7. l 稳定性比较

8. 7. 2 时间及空间复杂度比较

8. 8 外部排序方法简介

习题

第9章 查找

9. 1 查找表

9. 1. l 查找表

9. 1. 2 查找表的ADT定义

9. 2 查找算法

9. 2. l 顺序表的查找

9. 2. 2 静态树表的查找

9. 2. 3 索引顺序表的查找

9. 2. 4 二叉排序树

9. 3 Hash表

9. 3. l Hash表的概念

9. 3. 2 Hash函数的构造方法

9. 3. 3 处理冲突的方法

9. 3. 4 Hash表的查找

习题

参考文献