登录机工教育服务网
点击注册
使用第三方账号登录
数据结构(C++ 版)
作者:叶核亚 主编
ISBN:7-111-14872-X
所属丛书:普通高等教育规划教材
本书全面阐述了数据结构方面的基本理论,主要内容包括线性表、栈、队列、串、数组、广义表、树、二叉树、图等基本的数据结构以及查找和排序算法。 本书用C++语言定义和实现数据结构及算法。全书结构清楚...
同系列书
相关图书
  • 图书详情
ISBN:7-111-14872-X
装订:平装
责编:王小东
开本:16开
出版日期: 2006-02-13
字数:0 千字
定价:23.0
图书简介
本书全面阐述了数据结构方面的基本理论,主要内容包括线性表、栈、队列、串、数组、广义表、树、二叉树、图等基本的数据结构以及查找和排序算法。 本书用C++语言定义和实现数据结构及算法。全书结构清楚,内容丰富,章节安排合理。叙述深入浅出,循序渐进。示例典型实用,算法严谨规范,算法和程序全部调试通过。 本书适合作为计算机及相关专业本、专科学生教材,也可作为从事计算机软件开发和工程应用人员的参考书。
作者信息
章节目录

前言
第1章 绪论
1.1 数据结构的基本概念
1.1.1 抽象数据类型与数据结构
1.1.2 数据的逻辑结构
1.1.3 数据的存储结构
1.1.4数据的操作
1.2算法与算法设计
1.2.1 算法
1.2.2 算法设计
1.2.3 算法分析
习题1
实习1
第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.4.4 向循环链表的概念
习题2
实习2
第3章 排序
3.1 排序的基本概念
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 归并排序
3.5.1 顺序表的归并排序
3.5.2 单链表的归并排序
习题3
实习3
第4章 串
4.1 串的基本概念
4.1.1 串的定义
4.1.2 串的抽象数据类型
4.1.3 串的存储结构
4.2 顺序串类
4.2.1 顺序串类声明
4.2.2 顺序串类的基本操作
4.2.3 顺序串类的运算符重载
4.2.4 对子串的操作
4.3 串的模式匹配算法
4.3.1 Brute-Force算法
4.3.2替换子串操作
习题4
实习4
第5章栈和队列
5.1 栈
5.1.1 栈的定义
5.1.2 栈的抽象数据类型
5.1.3 顺序栈类
5.1.4 链式栈类
5.1.5栈的应用
5.2 队列
5.2.1 队列的定义
5.2.2 队列的抽象数据类型
5.2.3 队列的存储结构
5.2.4顺序循环队列类
5.2.5链式队列类
5.2.6 队列的应用
5.3 递归
习题5
实习5
第6章数组和广义表
6.1 数组
6.1.1 一维数组
6.1.2 多维数组
6.2 矩阵类
6.2.1 矩阵类的声明
6.2.2矩阵类的操作
6.3 特殊矩阵的压缩存储
6.4稀疏矩阵
6.4.1 稀疏矩阵的三元组线性表
6.4.2三元组顺序表类
6.4.3三元组链表
6.5广义表
6.5.1 广义表的概念
6.5.2 广义表的存储结构
习题6
实习6
第7章树和二叉树
7.1 树
7.1.1 树的定义
7.1.2树的术语
7.1.3 树的表示方法
7.2 二叉树
7.2.1 二叉树的定义
7.2.2二叉树的性质
7.2.3 二叉树的抽象数据类型
7.2.4二叉树的遍历
7.2.5 二叉树的存储结构
7.2.6树与二叉树的转换
7.3 二叉树类
7.3.1 二叉树的节点类
7.3.2 二叉树类的设计与实现
7.3.3 建立二叉树的算法设计
7.3.4 二叉树遍历的非递归算法
7.3.5 二叉树的层次遍历
7.4 线索二叉树
7.4.1 线索二叉树的定义
7.4.2 线索二叉树的节点类
7.4.3 中序线索二叉树类
7.5 堆排序
习题7
实习7
第8章 查找
8.1 查找的基本概念
8.2线性表的查找
8.2.1 顺序查找
8.2.2 折半查找
8.2.3 分块查找
8.3 二叉排序树及其查找算法
8.4哈希查找
8.4.1 哈希表的基本概念
8.4.2设计哈希函数
8.4.3 解决冲突的方法
8.4.4 拉链法的哈希表类
习题8
实习 8
第9章 图
9.1 图的基本知识
9.1.1 图的定义
9.1.2 节点的度
9.1.3 子图
9.1.4 路径、回路及连通性
9.1.5 图的抽像数据类型
9.2 图的存储结构
9.2.1 邻接矩阵
9.2.2 邻接表
9,3 图的遍历
9.3.1 深度优先遍历
9.3.2 广度优先遍历
9.4邻接矩阵图类
9.5 最小生成树
9.5.1 树与图
9.5.2 生成树
9.5.3 最小生成树及其构造算法
9.6最短路径
习题9
实习9
第10章 综合应用设计
10.1 用“预见算法”解骑士游历问题
10.2 综合应用实习
参考文献
前言/序言 展开  + 收缩 —
数据结构课程在计算机学科学生的培养中地位十分重要。在计算机中,现实世界被抽象为数据或数据模型。数据结构课程的任务是讨论现实世界中数据的各种逻辑结构、在计算机中的存储结构以及各种操作的算法设计问题。数据结构课程的主要目的是培养学生掌握处理数据和编写高效率软件的基本方法,从而为进一步学习后续专业课程、为以后进行软件开发和应用打下坚实的基础。数据结构课程讨论的知识内容,是软件设计的理论基础;数据结构课程介绍的技术方法,是软件设计中使用的基本方法。因此,数据结构课程是计算机学科本、专科的核心课程,是培养程序设计技能的必不可少的重要环节。 本书具有以下特点: 1.内容全面、叙述准确 本书介绍了线性表、栈、队列、串、数组、广义表、树、二叉树、图等基本数据结构,阐明了数据模型的逻辑结构,讨论了它们在计算机中的存储结构以及能进行的各种操作和这些操作的具体实现。另外,本书讨论了软件设计中应用频繁的查找和排序问题,给出了多种经典查找和排序算法。 本书以基本数据结构和经典算法为主线,全面、准确地阐述了数据结构课程的主要内容。本书概念清楚,用语规范,循序渐进,思路清晰。书中示例选题合适,算法分析透彻,程序结构严谨规范,体现了良好的程序设计素养。 2.采用C++语言描述数据结构 本书采用C++语言,以面向对象的思想、观点和方法,将主要的抽象数据类型设计成类,包括顺序表类、链表类、顺序串类、栈类、队列类、矩阵类、二叉树类、哈希表类、图类等,并实现了每种抽象数据类型的数据操作算法。 3.具有丰富翔实的例程 本书注重理论与实践相结合,注重基本知识的传授与基本技能的培养。本书除例题外,还安排了思考题、课堂练习题、上机实习题以及综合应用实习题等实践环节。这些为巩固学生的理论知识,提高学生的软件设计能力的培养起到了辅助作用,为以后学生进行系统软件和应用软件的开发研究打下了坚实的基础。 本书所有程序均在VisualC++6.0中调试通过。 根据作者的教学体会,使用本教材授课约需64—80学时。 本书由叶核亚主编,黄纬为副主编,孙水华参编。各章编写分工为:叶核亚编写第1、3、7、8、9、10章,黄纬编写第2、5章,孙水华编写第4、6章。全书由叶核亚修改定稿。本书由朱战立教授主审。朱教授认真细致地审阅了全书,并提出了许多宝贵意见。本书在编写过程中还得到了廖雷、陈瑞、陈建红、阚建飞、李林广、王青云、刁翔等老师的大力帮助,在此一并表示感谢。
图书评论
联系我们

北京西城区百万庄大街22号

邮编:100037

电子邮箱:cmpedu@cmpedu.com

教材网咨询:010-88379833

网上购书:010-88379170 / 9693

团购热线:010-68326294

官方二维码

随手扫一扫~了解多多

版权所有:机械工业出版社京ICP备14043556号-2 Copyright (C) 2017 CmpEdu. All Rights Reserved