出版时间:2008-8 出版社:机械工业出版社 作者:王宇川 主编 页数:187
内容概要
本书是根据高职高专计算机专业数据结构课程教学大纲的要求,结合作者多年教学工作经验积累而编写完成的具有工程实用价值的基础教材。全书共分8章,第1~6章分别讨论数据结构基本概念线性表、栈和队列、串和数组、树以及图等内容,第7、8章讨论各种查找和排序方法的算法实现与应用。 本书以C语言为程序设计基础语言,在描述上力求通俗易懂、深入浅出、简单明了、循序渐进。为方便读者,书中还配有例题讲解、习题练习和项目实训,提供了数据结构中大量经典算法及其可执行的完整C语言源程序。 本书不仅可作为高职、高专计算机专业的配套教材,也可以作为本、专科相关专业学生、自考学员和专业教师的辅助教材。 为方便教学,本书配备电子课件等教学资源。凡选用本书作为教材的教师均可登录机械工业出版社教材服务网www.cmpedu.com免费下载。如有问题请致信cmpgaozhi@sina.com.或致电010—88379375联系营销人员
书籍目录
前言第1章 绪论 1.1 引言 1.2 基本概念和术语 1.3 算法和算法分析 1.3.1 算法特性 1.3.2 算法描述 1.3.3 算法性能分析与度量 1.4 数据结构课程的内容 习题第2章 线性表 2.1 线性表的定义及逻辑结构 2.2 线性表的基本操作 2.3 线性表的顺序存储结构 2.3.1 顺序表 2.3.2 顺序表的基本运算 2.3.3 顺序表应用举例 2.4 线性表的链式存储结构 2.4.1 单链表 2.4.2 单链表的基本运算 2.4.3 循环链表 2.4.4 双向链表 2.4.5 静态链表 2.4.6 链表应用举例 2.5 顺序表和链表的比较 习题 上机实训第3章 栈和队列 3.1 栈 3.1.1 栈的定义及基本运算 3.1.2 栈的顺序存储结构 3.1.3 栈的链式存储结构 3.1.4 栈的应用举例 3.1.5 栈与递归 3.2 队列 3.2.1 队列的定义及基本运算 3.2.2 队列的顺序存储结构 3.2.3 队列的链式存储结构 3.2.4 队列应用举例 习题 上机实训第4章 其他线性数据结构 4.1 串 4.1.1 串的定义及基本操作 4.1.2 串的定长顺序存储结构 4.1.3 串的堆存储结构 4.1.4 串应用举例 4.2 多维数组 4.2.1 数组的定义及基本操作 4.2.2 数组的内存映像——向量存储结构 4.2.3 数组的应用举例 4.3 矩阵的压缩存储 4.3.1 稀疏矩阵的压缩存储 4.3.2 特殊矩阵的压缩存储 习题 上机实训第5章 树和二叉树 5.1 树的定义和基本操作 5.1.1 树的定义 5.1.2 基本术语 5.1.3 树的基本操作 5.2 二叉树 5.2.1 二叉树的定义和基本操作 ……第6章 圈第7章 查找第8章 排序参考文献
章节摘录
第1章 绪论 1.1 引言 数据结构(Data Structure)是计算机及相关专业的一门十分重要的基础核心课程。所有的计算机系统和应用软件都要用到各种类型的数据结构,因此,想要更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是远远不够的。要想有效地使用计算机,充分发挥计算机的性能,必须学习和掌握好数据结构的有关知识。打好“数据结构”这门课程的扎实基础,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的。 在计算机发展的初期,人们使用计算机的主要目的是处理数值计算问题。使用计算机解决一个具体问题时,一般需要经过下列几个步骤:首先要从该具体问题抽象出一个适当的数学模型,然后设计或选择一个解此数学模型的算法,最后编出程序进行测试,直至得到最终的解答。例如,求解梁架结构应力的数学模型中的线性方程组,就可以使用迭代算法来求解。 由于早期所涉及的运算对象是简单的整型、实型或布尔类型数据,所以程序设计者的主要精力集中在程序设计的技巧上,而无须考虑数据结构。随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。据统计,当今处理非数值计算性问题占用了90%以上的机器时间,而且这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。因此,有效地解决这类问题的关键不再是数学分析和计算方法,而是要设计出合适的数据结构。 例1.1学生信息检索系统。需要查找某个学生或者某个专业或年级的学生整体的有关信息的时候,只要建立了相关的数据结构,按照某种算法编写相应程序,就可以实现计算机自动检索。由此,可以在学生信息检索系统中建立一张按学号顺序排列的学生信息表和分别按姓名、专业、年级顺序排列的索引表,如图所示。由这四张表构成的文件就是学生信息检索的数学模型,计算机的主要操作是按照某个特定要求(如给定姓名)对学生信息文件进行查询。 诸如此类的信息检索还有电话自动查号系统、考试查分系统、仓库库存管理系统等。在这类文档管理的数学模型中,计算机处理的对象之间通常存在着一种简单的线性关系,这类数学模型可称为线性的数据结构。 ……
图书封面
评论、评分、阅读与下载