数据结构实例教程

出版时间:2008-12  出版社:清华大学出版社有限公司  作者:杨晓光  页数:333  
Tag标签:无  

前言

  数据结构是计算机专业和电子信息专业的重要专业基础课程之一。在计算机课程体系中起到承上启下的作用,它是操作系统、软件工程、数据库、编译原理、计算机图形学等课程的基础。近年来,随着计算机应用领域的不断拓展,许多非计算机专业也把数据结构作为重要的选修课程之一,以期加强学生程序设计能力。  作者在多年的数据结构课程教学实践中发现,初学者普遍感觉数据结构抽象难懂,对于数据结构应用于何处、如何应用也比较迷茫。作者也一直在思考这个问题,经过深入分析以后,感到造成这一现象的原因是,现在的教科书多以抽象理论讲解为主,不考虑应用,与实际应用脱节。在本书编写过程中,尝试引用一些实用案例,这些案例都是我们身边发生的事情,既生动有趣,又能诠释数据结构理论,从而变抽象为具体。  除此之外,本书还具有以下特色。  (1)在讲解每种新类型时,由一个贴近生活实际的小例子引入,如以奥运会门票预订为例引入队列,先给学生一个感性认识,然后再过渡到抽象的理论,使学生易于理解、易于接受。  (2)在讲解各种数据结构与算法的同时,给出大量例题。通过例题进一步阐述数据结构理论,同时引导学生灵活运用理论解决问题,从而达到举一反三的目的。  (3)在每一章的最后部分提供一个综合实例,从实用角度诠释如何用数据结构解决现实生活中存在的问题,如用查找和排序生成“十大流行歌手排行榜”。这样会给学生以学以致用的感受,激发他们的学习兴趣。  (4)在每章的最后提供了大量精选习题。通过这些习题的训练,可使学生巩固所学知识,进而灵活运用所学知识。  (5)每章还提供一至两个实验,便于学生上机练习。  (6)附录A给出一个综合测试,用于检验学习效果。  (7)书中所有算法都由C语言实现(均在Visual C++6.O下调试通过),并有详尽的注释,有些还给出测试程序,供学生验证和模仿,以加深学生对算法的理解。  全书共分九章。第1章介绍数据结构、抽象数据类型与算法的一些基本概念;第2章介绍线性表的逻辑结构和两种存储结构(顺序表和链表),以及基本操作的实现;第3章介绍栈和队列,讨论栈和队列特点,相应的存储结构及基本操作的实现,给出栈和队列的一些应用实例;第4章介绍串的基本概念、模式匹配算法,讨论串的各种存储结构,以及基本操作的实现;第5章介绍数组和广义表的基本概念,讨论数组和广义表的存储结构,以及特殊矩阵、稀疏矩阵和广义表的基本运算;第6章介绍树与二叉树,包括树与二叉树的定义与表示,讨论树与二叉树的存储结构,以及树与二叉树的遍历和相互转换;第7章介绍图,包括图的基本概念,讨论图的存储结构,以及图的一些应用;第8章介绍各种常见的查找算法及实现;第9章介绍各种常见的内部排序算法及实现;附录A为综合测试。

内容概要

本书系统介绍了数据结构相关理论和基本算法。主要内容包括线性表、栈、队列、串、数组、广义表、树、二叉树、图、查找和排序。     本书从实用角度出发,安排了大量贴近生活的示例,特别是每章都给出一个解决身边问题的综合实例。为了帮助读者更好地理解数据结构,全书还提供了121道例题,430道习题,7个综合实例,13个实验,1个综合测试。   本书可作为大专院校计算机专业和电子信息专业的本、专科学生的教材和参考书,亦适合于工程技术人员参考。

书籍目录

第1章  数据结构概述  1.1 数据结构研究的内容  1.2 基本概念和术语  1.3 抽象数据类型  1.4 算法分析    1.4.1 算法及性质    1.4.2 算法度量及分析  1.5 习题  1.6 实验第2章  线性表  2.1 线性表的定义及其操作    2.1.1 线性表的定义    2.1.2 线性表的抽象数据类型    2.2 顺序表    2.2.1 顺序表的定义    2.2.2 顺序表的基本操作  2.3 链表    2.3.1 单链表      2.3.2 循环链表    2.3.3 双向链表    2.3.4 静态链表  2.4 顺序表与链表的比较  2.5 综合实例——文具店的货品管理  2.6 习题  2.7 实验第3章  栈和队列  3.1 栈的定义及其操作    3.1.1 栈的定义    3.1.2 栈的抽象数据类型  3.2 顺序栈    3.2.1 顺序栈的定义    3.2.2 顺序栈的基本操作  3.3 链栈    3.3.1 链栈的定义    3.3.2 链栈的基本操作  3.4 队列的定义及其操作    3.4.1 队列的定义    3.4.2 队列的抽象数据类型  3.5 顺序队列    3.5.1 顺序队列的定义    3.5.2 顺序队列的基本操作  3.6 链队列    3.6.1 链队列的定义    3.6.2 链队列的基本操作  3.7 栈与队列的应用    3.7.1 数制转换    3.7.2 表达式计算    3.7.3 输入输出缓冲区  3.8 综合实例——停车场管理  3.9 习题  3.10 实验第4章  串    4.1 串的基本概念及其操作    4.1.1 串的基本概念    4.1.2 串的抽象数据类型  4.2 串的顺序存储结构    4.2.1 串的定长顺序存储表示    4.2.2 串的堆存储表示  4.3 串的链式存储结构  4.4 串的模式匹配    4.4.1 Brute—Force算法    4.4.2 KMP算法  4.5 综合实例——简易文本编辑软件  4.6 习题  4.7 实验第5章  数组和广义表  5.1 数组的基本概念及其操作    5.1.1 数组的基本概念    5.1.2 数组的抽象数据类型  5.2 数组的顺序存储  5.3 特殊矩阵及其压缩存储    5.3.1 对称矩阵与三角矩阵    5.3.2 对角矩阵  5.4 稀疏矩阵    5.4.1 三元组顺序表表示    5.4.2 十字链表表示  5.5 广义表    5.5.1 广义表的基本概念    5.5.2 广义表的抽象数据类型    5.5.3 广义表的存储结构  5.6 综合实例——n阶魔方  5.7 习题  5.8 实验第6章  树和二叉树  6.1 树    6.1.1 树的定义    6.1.2 树的表示方法    6.1.3 树的抽象数据类型    6.1.4树的存储结构  6.2 二叉树    6.2.1 二叉树的定义    6.2.2 二叉树的性质    6.2.3 二叉树的存储结构    6.2.4 二叉树的遍历  6.3 线索二叉树    6.3.1 线索二叉树的定义    6.3.2 线索二叉树的操作  6.4 森林    6.4.1 树、森林与二叉树的转换    6.4.2 树和森林的遍历  6.5 哈夫曼树及其应用    6.5.1 哈夫曼树    6.5.2 哈夫曼编码  6.6 综合实例——高校社团管理  6.7 习题  6.8 实验第7章  图    7.1 图的基本概念    7.1.1 图的定义    7.1.2 图的抽象数据类型  7.2 图的存储结构    7.2.1 邻接矩阵    7.2.2 邻接表    7.2.3 十字链表    7.2.4 邻接多重表  7.3 图的遍历    7.3.1 深度优先搜索    7.3.2 广度优先搜索  7.4 最小生成树    7.4.1 普里姆算法    7.4.2 克鲁斯卡尔算法  7.5 最短路径    7.5.1 从某个顶点到其余顶点的最短路径    7.5.2 每对顶点之间的最短路径  7.6 拓扑排序和关键路径    7.6.1 拓扑排序    7.6.2 关键路径  7.7 综合实例——故宫导游咨询  7.8 习题  7.9 实验第8章  查找  8.1 查找的基本概念  8.2 顺序查找  8.3 折半查找  8.4 分块查找  8.5 二叉排序树    8.5.1 二叉排序树的定义    8.5.2 二叉排序树的基本操作  8.6 B-树    8.6.1 B-树的定义    8.6.2 B-树的基本操作  8.7 哈希表    8.7.1 哈希表的定义    8.7.2 哈希函数的构造方法    8.7.3 处理冲突的方法    8.7.4 哈希表的基本操作  8.8 综合实例——十大流行歌手排行榜  8.9 习题  8.10 实验第9章  排序  9.1 排序的基本概念  9.2 插入排序    9.2.1 直接插入排序    9.2.2 折半插入排序    9.2.3 希尔排序  9.3 交换排序    9.3.1 冒泡排序    9.3.2 快速排序  9.4 选择排序    9.4.1 直接选择排序    9.4.2 堆排序  9.5 归并排序  9.6 基数排序  9.7 各种排序方法的比较  9.8 习题  9.9 实验附录A 综合测试附录B 部分习题答案参考文献

章节摘录

  第1章 数据结构概述  随着计算机技术的飞速发展,以及计算机的日益普及,计算机应用的范围越来越广泛,从最初的数值计算,发展到现在的数据处理、自动控制、信息处理、人工智能、情报检索和办公自动化等非数值计算领域。

编辑推荐

  本书共分九章。第1章介绍数据结构、抽象数据类型与算法的一些基本概念;第2章介绍线性表的逻辑结构和两种存储结构(顺序表和链表),以及基本操作的实现;第3章介绍栈和队列,讨论栈和队列特点,相应的存储结构及基本操作的实现,给出栈和队列的一些应用实例;第4章介绍串的基本概念、模式匹配算法,讨论串的各种存储结构,以及基本操作的实现;第5章介绍数组和广义表的基本概念,讨论数组和广义表的存储结构,以及特殊矩阵、稀疏矩阵和广义表的基本运算;第6章介绍树与二叉树,包括树与二叉树的定义与表示,讨论树与二叉树的存储结构,以及树与二叉树的遍历和相互转换;第7章介绍图,包括图的基本概念,讨论图的存储结构,以及图的一些应用;第8章介绍各种常见的查找算法及实现;第9章介绍各种常见的内部排序算法及实现;附录A为综合测试;附录B为部分习题参考答案。为了便于学生学习与理解数据结构,书中给出121道例题,430道习题,7个综合实例,13个实验,1个综合测试。

图书封面

图书标签Tags

评论、评分、阅读与下载


    数据结构实例教程 PDF格式下载


用户评论 (总计3条)

 
 

  •   内容丰富,例题经典深入,解析的非常到位
  •   本书的例子不错!不过如果可以讲得简单点最好!
  •   收到的书皮都被挤压变形了,希望当当注意下。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7