数 据 结 构 - 中国高校教材图书网
|
|
书名: |
数 据 结 构
|
ISBN: | 978-7-5606-2376-4 |
条码: | |
作者: |
刘 肖
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 16开 |
定价: |
¥20.00
折扣价:¥19.00
折扣:0.95
节省了1元
|
字数: |
319千字
|
出版社: |
西安电子科技大学出版社 |
页数: |
|
发行编号: | 2668001-1 |
每包册数: |
|
出版日期: |
2010-02-01 |
|
内容简介: |
内 容 简 介 本书从实际应用的角度出发,介绍了数据结构的基本知识和各种数据结构的实际应用。全书共分8章,主要内容包括线性表、栈与队列、串与数组、树、图、查找及排序等。各部分内容均从实际应用问题引入基本知识的讲解和描述,使读者更容易理解所学知识的应用目标,并在讲解中使用大量的实例来说明基本知识的应用。除第1章外,每章还包括了两个实训项目,配置了多种类型的习题,以突出实际应用能力的培养。 本书可作为高职高专学校计算机类专业学生学习“数据结构”的教材,也可作为软件技术人员的参考用书。为方便读者学习,本书的算法部分均采用C语言描述,实训项目也是完整的C语言程序,读者可以很方便地对书中的算法进行上机测试。
|
作者简介: |
|
章节目录: |
目 录 第1章 概述 1 1.1 引言 1 1.2 基本术语及概念 3 1.2.1 基本术语 3 1.2.2 数据结构 4 1.3 算法描述与算法分析 5 1.3.1 算法与算法描述 6 1.3.2 算法分析 8 小结 10 习题 11 第2章 线性表 13 2.1 线性表的逻辑结构及基本运算 13 2.1.1 线性表的逻辑结构 13 2.1.2 线性表的基本运算 14 2.2 线性表的顺序存储及运算 15 2.2.1 线性表的顺序存储——顺序表 15 2.2.2 顺序表的基本运算 16 2.3 线性表的链式存储及运算 19 2.3.1 单链表 19 2.3.2 循环链表 26 2.3.3 双向链表 27 2.3.4 静态链表 28 小结 32 习题 33 实训指导 36 第3章 栈与队列 43 3.1 栈 43 3.1.1 栈的定义及基本运算 43 3.1.2 栈的顺序存储及运算 44 3.1.3 栈的链式存储及运算 47 3.1.4 栈的应用 48 3.2 队列 52 3.2.1 队列的定义及基本运算 52 3.2.2 队列的顺序存储及运算 53 3.2.3 队列的链式存储及运算 57 3.2.4 队列的应用 59 小结 61 习题 61 实训指导 63 第4章 串与数组 67 4.1 串 68 4.1.1 串的基本概念 68 4.1.2 串的存储结构 69 4.1.3 串运算的实现 71 4.2 数组 74 4.2.1 数组的定义和运算 75 4.2.2 数组的顺序存储和实现 75 4.2.3 特殊矩阵的压缩存储 77 小结 83 习题 83 实训指导 85 第5章 树与二叉树 91 5.1 树 91 5.2 二叉树 94 5.2.1 二叉树的定义 94 5.2.2 二叉树的性质 95 5.2.3 二叉树的存储结构 97 5.2.4 遍历二叉树 100 5.2.5 应用实例 101 5.3 树和森林 104 5.3.1 树的存储结构 104 5.3.2 树、森林与二叉树的转换 107 5.3.3 树和森林的遍历 110 5.4 最优二叉树——哈夫曼树 111 5.4.1 哈夫曼树的定义和构造方法 111 5.4.2 哈夫曼编码 114 小结 116 习题 116 实训指导 119 第6章 图 124 6.1 图的基本概念 124 6.2 图的存储表示 127 6.2.1 图的邻接矩阵 128 6.2.2 邻接表 129 6.3 图的遍历 131 6.3.1 深度优先搜索 131 6.3.2 广度优先搜索 133 6.4 图的应用 138 6.4.1 生成树和最小生成树 138 6.4.2 最短路径 140 6.4.3 拓扑排序 142 小结 143 习题 144 实训指导 147 第7章 查找 151 7.1 查找的基本概念 151 7.2 静态查找表 152 7.2.1 顺序查找 152 7.2.2 折半查找 154 7.2.3 分块查找 157 7.3 动态查找表 158 7.3.1 二叉排序树 158 7.3.2 二叉排序树的插入和生成 158 7.3.3 二叉排序树的删除 160 7.3.4 二叉排序树的查找 162 7.3.5 二叉排序树的查找性能 163 7.3.6 平衡二叉树 164 7.4 哈希表查找 168 7.4.1 哈希表与哈希查找 168 7.4.2 构造哈希函数的方法 169 7.4.3 处理冲突的方法 170 7.4.4 哈希表的查找分析 172 小结 173 习题 173 实训指导 175 第8章 排序 179 8.1 基本概念 179 8.2 插入排序 181 8.2.1 直接插入排序 181 8.2.2 希尔排序 182 8.3 交换排序 184 8.3.1 冒泡排序 184 8.3.2 快速排序 186 8.4 选择排序 189 8.4.1 简单选择排序 189 8.4.2 树形选择排序 190 8.4.3 堆排序 191 8.5 二路归并排序 195 8.6 基数排序 198 8.6.1 多关键字排序 198 8.6.2 链式基数排序 199 8.7 排序方法的比较 201 小结 202 习题 202 实训指导 205 参考文献 210
|
精彩片段: |
|
书 评: |
前 言 “数据结构”是计算机程序设计的重要理论基础,是计算机相关专业必修的一门重要基础课程和核心课程。“数据结构”主要介绍各种类型的数据结构及在其上进行的各种运算,包含了较多的理论知识,也有较高的实践要求。为了达到理论与实践的结合统一,本书秉承以应用为主体,注重培养实践能力的指导思想,在强调理论知识的理解和运用的同时,更加注重结合高职高专教学的要求,体现对学生应用能力的培养。 本书主要面向高职高专院校计算机相关专业的学生。 全书共分8章。第1章为概述,主要阐述数据结构的相关概念、算法的描述和算法分析方法;第2章为线性表,主要讨论线性结构的顺序和链式表示方法、存储方法和各种操作方法以及应用;第3章为栈和队列,主要讨论栈和队列这两种限定性的线性表的表示、存储方法和操作方法以及应用;第4章为串与数组,主要讨论串与数组的存储方法和各种应用;第5章为树与二叉树,主要讨论树与二叉树的定义、存储方法、运算方法及应用;第6章为图,主要讨论图的各种概念、存储方法、遍历方法以及图的多种实际应用;第7章为查找,主要讨论查找的概念、各种查找方法及应用;第8章为排序,主要讨论排序的概念、各种排序方法及应用。 本书的编写力求概念简洁、叙述明了,以应用为主线编排和组织教学内容,突出实用性。总体来看,本书具有以下特点: (1) 针对学生的学习特点,在每章开始均以“问题引入”、“知识要点”和“能力要求”开篇,以学习、工作及生活中的实际应用问题引入该章内容,以便学生能了解所学知识的应用目标,从而提高学生的学习兴趣,同时,给出该章的知识要点和能力要求,使学生明确学习目的。 (2) 运用高职高专教育先进的教学思想方法,做到理论知识的阐述由浅入深、通俗易懂,内容的组织和编排以应用为目的,略去了一些理论推导和数学证明的过程,淡化算法的设计分析和复杂的时空定量分析,采用算法说明和定性、定量分析相结合的方法设计和分析算法。 (3) 各章(除第1章外)都配有“实训指导”。每个“实训指导”均包含两个实训项目,第一个项目的重点在于对所学知识的理解和应用,第二个项目的重点在于对实际问题的解决。通过这两个实训项目,不仅帮助学生加深对基础理论知识的理解,而且培养学生解决实际应用问题的能力。 (4) 各章配有本章小结和课后习题,方便学生课后复习、巩固。 (5) 为方便学生学习,本书的算法部分均采用C语言描述,实训项目也是完整的C语言程序,读者可以很方便地对书中的算法进行上机测试。 本教材的教学时数以60~80为宜,其中上机安排20学时左右。教师可以根据实际的教学时数和学生情况等自行调整教学进度和教学内容。 本书由西安航空技术高等专科学校计算机工程系刘肖老师主编,石锋老师、刘文哲老师、任静老师、王建老师等参与了编写。其中,刘肖老师编写了第1、3、4章,刘文哲老师编写了第2章,任静老师编写了第5、6章,石锋老师编写了第7章,王建老师编写了第8章。西安航空技术高等专科学校计算机工程系的领导和其他老师在本书编写过程中给予了大力的协助和支持,在此表示衷心的感谢。 由于时间紧迫,加之编者水平有限,书中难免存在疏漏,恳请读者批评指正。 编 者 2009年7月
|
其 它: |
|
|
|