第一图书网

数据结构与算法

张晓莉 等 著 机械工业出版社
出版时间:

2008-7  

出版社:

机械工业出版社  

作者:

张晓莉 等 著  

页数:

259  

Tag标签:

无  

内容概要

  《数据结构与算法(第2版)》详纽讲述了线性结构、树结构和图结构中的数据表示及数据处理的方法,对查找和排序两种重要的数据处理进行了详细的探讨。书中对各类数据结构的分析按照“逻辑结构-存储结构-基本运算的实现-时空性分析-实例”的顺序进行讲述,算法全部采用C语言描述,很容易转换成程序。在每章的后面都配有不同类型的习题:有加强概念理解的选择题、判断题,有帮助理解算法思想的简答题,也有培养算法设计能力的算法设计题。本书语言叙述通俗易懂,由浅入深,算法可读性好,应用性强,书中配有大量算法设计的例子,便于读者理解和掌握数据结构中数据表示和数据处理的方法。  《数据结构与算法(第2版)》可作为计算机和信息类相关专业本(专)科“数据结构”课程的教材或学习参考书,也可供有关工程技术人员参考。

书籍目录

出版说明前言第1章 绪论1.1 引言1.1.1 为什么要学习数据结构1.1.2 数据结构课程的内容1.2 数据结构的概念1.2.1 基本概念和术语1.2.2 抽象数据类型1.3 算法1.3.1 算法及其特征1.3.2 算法的描述1.3.3 算法的性能分析1.4 小结习题第2章 线性表2.1 线性表的逻辑结构2.1.1 线性表的定义2.1.2 线性表的基本运算2.2 线性表的顺序存储2.2.1 顺序表2.2.2 顺序表上基本运算的实现2.2.3 顺序表应用举例2.3 线性表的链式存储2.3.1 单链表2.3.2 单链表上基本运算的实现2.3.3 循环链表2.3.4 双向链表2.3.5 静态链表2.3.6 链表应用举例2.4 顺序表和链表的比较2.5 小结习题第3章 栈和队列3.1 栈3.1.1 栈的定义及基本运算3.1.2 栈的存储及运算实现3.2 栈的应用举例3.3 队列3.3.1 队列的定义及基本运算3.3.2 队列的存储及运算实现3.4 队列的应用举例3.5 小结习题第4章 字符串及线性结构的扩展4.1 字符串4.1.1 字符串的基本概念4.1.2 顺序串4.1.3 模式匹配4.2 数组4.2.1 数组的逻辑结构及内存映象4.2.2 特殊矩阵4.2.3 稀疏矩阵4.3 广义表4.3.1 广义表的逻辑结构4.3.2 广义表的存储4.4 小结习题第5章 树结构5.1 二叉树5.1.1 二叉树的概念5.1.2 二叉树的主要性质5.1.3 二叉树的存储5.1.4 二叉树基本运算的实现5.2 二叉树的遍历5.2.1 以递归方法实现二叉树的3种遍历5.2.2 以非递归方法实现二叉树的3种遍历5.2.3 按层次遍历二叉树5.3 二叉树遍历的应用5.3.1 构造二叉树的二叉链表存储5.3.2 由遍历序列恢复二叉树5.3.3 在二叉树中查找值为x的数据元素5.3.4 统计给定二叉树中叶子结点的数目5.3.5 表达式运算5.4 线索二叉树5.4.1 线索二叉树的定义及结构5.4.2 线索二叉树的构建及遍历5.5 哈夫曼树及哈夫曼编码5.5.1 问题的引入5.5.2 哈夫曼树5.5.3 哈夫曼树的构造5.5.4 哈夫曼编码5.6 树5.6.1 树的概念5.6.2 树的表示5.6.3 树的存储5.7 树和森林与二叉树之间的转换5.7.1 树转换为二叉树5.7.2 森林转换为二叉树5.7.3 二叉树转换为树和森林5.8 树或森林的遍历5.8.1 树的遍历5.8.2 森林的遍历5.9 树的应用5.9.1 判定树5.9.2 集合的表示5.9.3 等价问题5.10 小结习题第6章 图结构6.1 图的基本概念6.1.1 图的定义和术语6.1.2 图的基本操作6.2 图的存储方法6.2.1 邻接矩阵6.2.2 邻接表6.2.3 十字链表6.2.4 邻接多重表6.3 图的遍历6.3.1 深度优先搜索6.3.2 广度优先搜索6.3.3 应用图的遍历判定图的连通性6.4 生成树和最小生成树6.4.1 生成树和生成森林6.4.2 最小生成树6.4.3 构造最小生成树的Prim算法6.4.4 构造最小生成树的Kruskal算法6.5 有向无环图及其应用6.5.1 有向无环图的概念6.5.2 AOV网与拓扑排序6.5.3 AOE网与关键路径6.6 最短路径6.6.1 从一个源点到其他各点的最短路径6.6.2 每一对顶点之间的最短路径——弗洛伊德算法6.7 小结习题第7章 查找7.1 基本概念7.2 线性表查找7.2.1 顺序查找7.2.2 在顺序存储的有序表上查找7.3 树表查找7.3.1 二叉排序树7.3.2 平衡二叉树7.3.3 B树和B+树7.4 散列表查找7.4.1 散列表7.4.2 常用的散列函数7.4.3 处理冲突的方法及散列表的构造7.4.4 散列表上的查找7.4.5 散列表上的删除7.5 小结习题第8章 排序8.1 基本概念8.2 插入排序8.2.1 直接插入排序8.2.2折半插入排序8.2.3 表插入排序及重排8.2.4 希尔排序8.3 交换排序8.3.1 冒泡排序8.3.2 快速排序8.4 选择排序8.4.1 简单选择排序8.4.2 树结构选择排序8.4.3 堆排序8.5 归并排序8.6 基数排序8.6.1 多关键码排序8.6.2 链式基数排序8.7 外部排序8.7.1 外部排序的方法8.7.2 多路平衡归并的实现8.8 小结习题参考文献

章节摘录

  第1章 绪论  计算机科学是一门研究数据表示和数据处理的科学。数据就是对客观事务采用的计算机能够识别、存储和处理的符号表示。简言之,数据是计算机化的信息,是计算机可以直接处理的最基本和最重要的对象。无论是进行科学计算或数据处理、过程控制,还是对文件的存储和检索等计算机应用,都是对数据进行加工处理的过程。计算机对数据的处理并不是简单地将数据堆积在一起,而是使其具有某种内在的联系。因此,为了更有效地处理数据,设计出好的算法,编写出结构清晰而且效率高的程序,必须研究数据的特性、数据间的相互关系及其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。  1.1 引言  数据结构是计算机科学与技术专业的专业基础课,是一门十分重要的核心课程。数据结构的知识为后续专业课程的学习提供必要的知识和技能准备,学好“数据结构”这门课程,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的,而且所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的,要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。  ……


图书封面

图书标签Tags

广告

下载页面


数据结构与算法 PDF格式下载



相关图书