电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

严蔚敏 吴伟民 编著《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。 全书中采用类C语言作为数据结构和算法的描述语言,在对数据的存储结构和算法进行描述时,尽量考虑C语言的特色,如利用数组的动态分配实现顺序存储结构等。虽然C语言不是抽象数据类型的理想描述工具,但鉴于目前和近一二年内,“面向对象程序设计”并非数据结构的先修课程,故本书未直接采用类和对象等设施,而是从C语言中精选了一个核心子集,并增添C++语言的引用调用参数传递方式等,构成了一个类C描述语言。它使本书对各种抽象数据类型的定义和实现简明清晰,既不拘泥于C语言的细节,又容易转换成能上机执行的C或C++程序。 本书概念表述严谨,逻辑推理严密,语言精炼,用词达意。并有配套出版的《数据结构题集》(C语言版)。既便于教学,又便于自学。 本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。

  “数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其他理工专业的热门选修课。本书是为“数据结构”课程编写的教材,其内容选取符合教学大纲要求,并兼顾学科的广度和深度,适用面广。 本书的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术;第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。用过《数据结构》(第二版)的读者容易看出,本书内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。对每一种数据结构,都分别给出相应的抽象数据类型规范说明和实现方法。 全书中采用类C语言作为数据结构和算法的描述语言,在对数据的存储结构和算法进行描述时,尽量考虑C语言的特色,如利用数组的动态分配实现顺序存储结构等。虽然C语言不是抽象数据类型的理想描述工具,但鉴于目前和近一两年内,“面向对象程序设计”并非数据结构的先修课程,故本书未直接采用类和对象等设施,而是从C 语言中精选了一个核心子集,并增添C++语言的引用调用参数传递方式等,构成了一个类C描述语言。它使本书对各种抽象数据类型的定义和实现简明清晰,既不拘泥于C语言的细节, 又容易转换成能上机执行的C或C++程序。   从课程性质上讲,“数据结构”是一门专业技术基础课。它的教...

目录
荐语
查看详情 查看详情
第1章绪论1

1.1什么是数据结构1

1.2基本概念和术语4

1.3抽象数据类型的表示与实现9

1.4算法和算法分析13

1.4.1算法13

1.4.2算法设计的要求13

1.4.3算法效率的度量14

1.4.4算法的存储空间需求17

第2章线性表18

2.1线性表的类型定义18

2.2线性表的顺序表示和实现21

2.3线性表的链式表示和实现27

2.3.1线性链表27

2.3.2循环链表35

2.3.3双向链表35

2.4一元多项式的表示及相加39

第3章栈和队列44

3.1栈44

3.1.1抽象数据类型栈的定义44

3.1.2栈的表示和实现45

3.2栈的应用举例48

321数制转换48

322括号匹配的检验49

323行编辑程序49

324迷宫求解50

325表达式求值52

**3.3栈与递归的实现54

3.4队列58

3.4.1抽象数据类型队列的定义58

3.4.2链队列——队列的链式表示和实现60

3.4.3循环队列——队列的顺序表示和实现63

**3.5离散事件模拟65

第4章串70

4.1串类型的定义70

4.2串的表示和实现72

4.2.1定长顺序存储表示73

4.2.2堆分配存储表示75

423串的块链存储表示78

**43串的模式匹配算法79

4.3.1求子串位置的定位函数Index(S,T,pos)79

4.3.2模式匹配的一种改进算法80

4.4串操作应用举例84

4.4.1文本编辑84

**4.4.2建立词索引表86

第5章数组和广义表9... 查看详情

查看详情