数据结构与STL

出版时间:2010-9  出版社:北京邮电大学出版社  作者:肖波,徐雅静 编著  页数:288  
Tag标签:无  

内容概要

数据结构是计算机及其相关专业的重要课程,是计算机软件开发及应用人员必备的专业基础。本书首先介绍数据结构与算法的基础知识,然后系统地论述线性表、栈、队列、串、数组和广义表、树和二又树、图等基本数据结构,并讨论了常用的查找和排序技术。在用例选择方面充分考虑了电子信息类专业特点,尤其突出信息与通信工程相关专业的特色。在各章最后描述了相应的标准模板库(STL),旨在使读者了解STL与数据结构的关系,并且能够掌握各类STL的应用,提高实际应用能力和程序设计的效率。    本书内容丰富、层次清晰、讲解深入浅出,可作为计算机及相关专业,尤其是电子信息类专业本专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读和参考。

书籍目录

第1章 绪论  1.1 数据结构的起源  1.2 数据结构的基本概念  1.3 算法和算法分析    1.3.1 算法描述    1.3.2 算法分析  1.4 STL与数据结构    1.4.1 STL简介    1.4.2 STL与数据结构的关系    1.4.3 STL应用举例  1.5 实例分析  习题第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.4 顺序表与链表的比较    2.4.1 时间性能比较    2.4.2 空间性能比较    2.4.3 高级语言的支持  2.5 应用举例    2.5.1 一元多项式的求和    2.5.2 动态内存管理  2.6 STL中的相关模板类    2.6.1 向量    2.6.2 列表  习题第3章 栈、队列和串  3.1 栈    3.1.1 栈的逻辑结构    3.1.2 栈的顺序存储结构    3.1.3 栈的链式存储结构  3.2 队列    3.2.1 队列的逻辑结构    3.2.2 循环队列    3.2.3 链队列  3.3 串    3.3.1 串的逻辑结构    3.3.2 串的存储结构    3.3.3 串的模式匹配  3.4 实例分析    3.4.1 函数调用与递归    3.4.2 优先级队列的调度  3.5 STL中的相关模板类    3.5.1 双端队列    3.5.2 栈适配器    3.5.3 STL中的队列    3.5.4 串类型  习题第4章 多维数组和广义表  4.1 多维数组  4.2 矩阵的压缩存储    4.2.1 特殊矩阵压缩存储    4.2.2 稀疏矩阵压缩存储  4.3 广义表    4.3.1 广义表的逻辑结构    4.3.2 广义表的存储结构  4.4 实例分析    4.4.1 BMP文件结构分析    4.4.2 简单图像处理——平滑技术  4.5 使用STL操作多维数组  习题第五章 树  5.1 概述    5.1.1 基本概念    5.1.2 树的存储结构    5.1.3 树的遍历  5.2 二叉树    5.2.1 二叉树的性质    5.2.2 二叉树的存储    5.2.3 二叉树的遍历    5.2.4 二叉树的实现  5.3 树和森林    5.3.1 树、森林与二叉树的转换    5.3.2 森林的遍历  5.4 哈夫曼树和编码    5.4.1 算法原理    5.4.2 算法实现  习题第6章  图  6.1 图的逻辑结构    6.1.1 图的定义    6.1.2 图的基本术语  6.2 图的存储结构    6.2.1 邻接矩阵    6.2.2 邻接表    6.2.3 十字链表    6.2.4 邻接多重表    6.2.5 边集数组    6.2.6 图的存储结构比较  6.3 图的遍历    6.3.1 深度优先遍历    6.3.2 广度优先遍历  6.4 最小生成树    6.4.1 普里姆算法    6.4.2 克鲁斯卡尔算法  6.5 最短路径    6.5.1 Dijkstra算法    6.5.2 Floyd算法  习题第7章 查找  7.1 概述    7.1.1 基本概念    7.1.2 查找算法的性能  7.2 线性表查找    7.2.1 顺序查找    7.2.2 折半查找    7.2.3 分块查找  7.3 树表的查找技术    7.3.1 二叉排序树    7.3.2 平衡二叉树  7.4 散列表的查找技术    7.4.1 散列技术    7.4.2 散列函数设计    7.4.3 冲突处理    7.4.4 算法的性能  7.5 查找的应用    7.5.1 文件查找    7.5.2 中文分词技术中的词搜索算法  7.6 STL中的相关模板类    7.6.1 集合    7.6.2 STL通用工具pair    7.6.3 映射    7.6.4 总结  习题第8章 排序  8.1 概述    8.1.1 基本概念    8.1.2 排序的分类    8.1.3 算法性能  8.2 插入排序    8.2.1 概述    8.2.2 直接插入排序    8.2.3 希尔排序  8.3 交换排序    8.3.1 概述    8.3.2 起泡排序    8.3.3 快速排序  8.4 选择排序    8.4.1 概述    8.4.2 简单选择排序    8.4.3 堆排序  8.5 归并排序    8.5.1 概述    8.5.2 二路归并排序  8.6 排序的比较  8.7 外部排序  8.8 STL中相关排序算法    8.8.1 排序中的比较函数    8.8.2 全排序    8.8.3 局部排序    8.8.4 指定元素排序    8.8.5 Sort和容器  习题附录参考文献

章节摘录

  人们在进行程序设计时通常关注两个重要问题,一是如何将待处理的数据存储到计算机内存中,即数据表示;二是如何设计相应的算法操作这些数据,即数据处理。数据表示的本质是数据结构设计,数据处理的本质是算法设计,这两个问题往往是相互作用的,数据结构设计得好,处理算法效率就高。数据结构课程主要讨论数据的逻辑表示、存储方法和数据处理的基本问题,这些内容对于进行高效率的计算机程序开发非常重要。本章将系统地论述数据结构的基本概念、算法分析的基本方法,并对C++的标准模板类(STL)进行简要介绍。  1.1数据结构的起源  数据结构是计算机及其相关专业的重要课程。随着计算机科学和技术的不断发展,众多的计算机系统软件和应用软件都要用到数据结构,如通信协议软件的开发、信息处理技术、数据挖掘等。数据结构起源于程序设计,并随着程序设计的发展而发展。  在计算机发展初期,人们使用计算机主要是处理数值计算问题。由于当时计算机的计算能力低下,所涉及的运算对象是简单的整数、实数及布尔型数据,所以程序设计者将主要精力集中于程序设计的技巧上,而不需要设计复杂的存储方法,因此无须重视数据结构。

图书封面

图书标签Tags

评论、评分、阅读与下载


    数据结构与STL PDF格式下载


用户评论 (总计3条)

 
 

  •   很喜欢这本书,知识点很多
  •   不是说书不好 而是买了又说不用了 这让我情何以堪
  •   买这本书主要是因为有STL,买来才发现根本没提什么STL,而且示例代码写的太次了,到处是错误,写的不太详细是可以理解的,毕竟不是专门教代码的书,但是一些最基本的错误哪儿哪儿都是,所以想学数据结构的还是不要买的好。
 

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

京ICP备13047387号-7