C++与数据结构(第4版)
正版全新
¥
38.95
7.5折
¥
52
全新
库存8件
作者高飞
出版社电子工业出版社
ISBN9787121315794
出版时间2018-02
装帧其他
开本16开
纸张胶版纸
定价52元
货号1365700
上书时间2023-10-14
商品详情
- 品相描述:全新
- 商品描述
-
【书 名】 C++与数据结构(第4版)
【书 号】 9787121315794
【出 版 社】 电子工业出版社
【作 者】 高飞
【出版日期】 2018-02-01
【版 次】 4
【开 本】 16开
【定 价】 52.00元
【内容简介】
本书是*(网络教育)精品课程的教学成果,也是北京市高等教育精品教材,根据***高等学校大学计算机课程教学指导委员会《大学计算机基础课程教学基本要求》中有关理工类专业的计算机基础课程教学要求组织编写而成,内容由浅入深,案例丰富,通俗易懂,实用性强。本书在介绍了C 语言的程序设计方法的基础上,采用面向对象的思想和抽象数据类型的概念,用C 语言有效地组织和描述了线性表、堆栈、队列、树和图等各种典型的数据结构和相关类的实现,并介绍了每一种数据结构的不同存储方法、典型操作及其应用。全书共11章,包括数据结构的基本概念,数组与指针,函数,C 编程基础,继承和多态,模板和STL,线性表,堆栈与队列,树与二叉树,图,查找与散列结构,排序等。本书各章配有习题和实验训练题,方便实践教学,并为任课教师提供了电子课件和示例源代码。本书可作为高等院校电子信息类以及其他相关专业本科生教材和教学参考书,也可供从事程序设计工程的人员参考使用。
【目录】
目 录
第1章 数据结构的基本概念1
1.1 数据结构的概念和术语1
1.2 抽象数据类型3
1.2.1 数据类型3
1.2.2 数据抽象与抽象数据类型4
1.3 算法和算法分析5
1.3.1 算法5
1.3.2 算法设计的要求5
1.3.3 算法效率的度量6
1.4 面向对象概述8
1.4.1 面向对象的思想9
1.4.2 面向对象程序设计9
1.4.3 面向对象的语言9
1.4.4 面向对象的基本概念10
1.4.5 面向对象的基本特性11
1.5 本章小结13
习题113
第2章 C 初步知识14
2.1 C 语言14
2.2 数组14
2.2.1 一维数组15
2.2.2 二维数组17
2.2.3 字符数组和字符串20
2.3 指针24
2.3.1 指针的概念24
2.3.2 指针的定义24
2.3.3 指针的运算25
2.4 指针和数组27
2.4.1 指针与数组名27
2.4.2 指向数组的指针28
2.4.3 存储指针的数组31
2.4.4 动态存储32
2.5 结构34
2.5.1 结构类型的定义34
2.5.2 结构变量的说明35
2.5.3 结构成员的引用36
2.5.4 结构数组和结构指针37
2.6 函数39
2.6.1 函数的声明、定义和调用40
2.6.2 函数的参数传递41
2.6.3 带默认参数的函数42
2.6.4 内置函数43
2.6.5 函数的重载44
2.7 本章小结45
习题245
实验训练245
第3章 C 类及其对象的封装性48
3.1 类的声明和对象的定义48
3.1.1 声明类类型48
3.1.2 定义对象的方法50
3.1.3 对象成员的引用51
3.2 类的成员函数52
3.2.1 成员函数的访问属性52
3.2.2 在类外定义成员函数52
3.2.3 内置成员函数53
3.2.4 成员函数的存储方式54
3.3 构造函数和析构函数55
3.3.1 对象的初始化55
3.3.2 构造函数的作用55
3.3.3 带参数的构造函数57
3.3.4 构造函数的重载58
3.3.5 拷贝构造函数58
3.3.6 析构函数59
3.4 相关特性61
3.4.1 引用61
3.4.2 友元67
3.4.3 运算符重载70
3.5 本章小结77
习题377
实验训练378
第4章 继承性和多态性81
4.1 继承与派生的概念81
4.1.1 派生类的声明与构成81
4.1.2 派生类成员的访问83
4.2 派生类的构造函数和析构函数87
4.2.1 简单的派生类的构造函数87
4.2.2 有子对象的派生类的构造函数88
4.2.3 多级派生时的构造函数90
4.2.4 派生类的析构函数91
4.3 多继承92
4.3.1 多继承的声明与使用92
4.3.2 多继承引起的二义性问题94
4.3.3 虚基类的概念与使用96
4.4 多态性与虚函数99
4.4.1 多态的概念99
4.4.2 虚函数的定义与使用99
4.4.3 虚析构函数103
4.4.4 纯虚函数与抽象类104
4.5 本章小结107
习题4107
实验训练4107
第5章 模板与标准模板库112
5.1 模板112
5.1.1 模板的概念112
5.1.2 函数模板112
5.1.3 类模板117
5.2 标准模板库120
5.3 序列式容器121
5.3.1 vector容器121
5.3.2 使用迭代器123
5.3.3 list容器124
5.4 关联式容器125
5.4.1 pair类型126
5.4.2 map容器127
5.4.3 set容器128
5.5 本章小结130
习题5131
实验训练5131
第6章 线性表133
6.1 线性表的定义133
6.1.1 线性表的逻辑结构133
6.1.2 线性表的抽象类定义134
6.2 线性表的顺序表示和实现135
6.2.1 线性表的顺序表示135
6.2.2 顺序表类的定义135
6.2.3 顺序表类的实现136
6.3 线性表的链式表示和实现140
6.3.1 线性表的链式表示140
6.3.2 抽象链表类的定义140
6.3.3 抽象链表类各成员函数的实现142
6.4 单链表143
6.4.1 单链表的定义143
6.4.2 单链表类的定义144
6.4.3 单链表的常用成员函数的实现144
6.4.4 单链表举例——一元多项式加法147
6.5 循环链表150
6.5.1 循环链表的定义150
6.5.2 循环链表类的定义150
6.5.3 循环链表常用函数的实现151
6.5.4 循环链表举例——约瑟夫问题155
6.6 双向链表155
6.6.1 双向链表的定义155
6.6.2 双向链表类的定义156
6.6.3 双向链表的常用成员函数的实现157
6.7 本章小结161
习题6161
实验训练6162
第7章 堆栈、队列和递归169
7.1 堆栈的概念及其运算169
7.2 抽象堆栈类的定义170
7.3 堆栈的定义及其实现170
7.3.1 顺序栈的定义170
7.3.2 顺序栈类的定义及典型成员函数
的实现171
7.3.3 多栈共享空间问题174
7.3.4 链栈的定义175
7.3.5 链式栈类的定义及典型成员函数
的实现176
7.4 堆栈的应用举例179
7.4.1 数制转换179
7.4.2 迷宫问题180
7.5 队列的概念及其运算183
7.6 抽象队列类的定义184
7.7 队列的定义及其实现184
7.7.1 队列的顺序存储结构184
7.7.2 循环队列的定义186
7.7.3 顺序循环队列类的定义及常用
成员函数的实现187
7.7.4 链式队列的定义189
7.7.5 链式队列类的定义及常用成员
函数的实现190
7.7.6 链式队列的应用举例193
7.7.7 优先级队列的定义194
7.7.8 优先级队列类的定义及常用
成员函数的实现194
7.8 递归197
7.8.1 递归的概念197
7.8.2 递归的应用198
7.8.3 递归在计算机中的实现199
7.8.4 递归问题的非递归算法201
7.9 本章小结204
习题7204
实验训练7205
第8章 树与二叉树212
8.1 树、二叉树和森林的基本概念212
8.1.1 树212
8.1.2 二叉树213
8.1.3 树与森林的存储结构218
8.2 二叉树的抽象类和树的类222
8.2.1 二叉树的抽象类222
8.2.2 树的类227
8.3 二叉树的遍历和树的遍历233
8.3.1 二叉树的遍历233
8.3.2 树的遍历236
8.4 二叉排序树239
8.5 二叉树的计数244
8.6 哈夫曼树及其应用244
8.6.1 *优二叉树244
8.6.2 哈夫曼编码246
8.7 本章小结247
习题8247
实验训练8248
第9章 图253
9.1 图的基本概念253
9.1.1 图的定义253
9.1.2 图的术语254
9.1.3 图的基本操作256
9.1.4 图的存储表示256
9.2 图的抽象类260
9.2.1 图的邻接矩阵类261
9.2.2 图的邻接表类265
9.3 图的遍历271
9.3.1 深度优先搜索272
9.3.2 广度优先搜索273
9.4 图的连通性与*小生成树274
9.4.1 无向图的连通分量和生成树274
9.4.2 *小生成树274
9.4.3 关节点和重连通分量279
9.5 *短路径281
9.5.1 图结点的可达性281
9.5.2 从某个源点到其余各顶点的
*短路径282
9.5.3 每一对顶点之间的*短路径284
9.6 活动网络286
9.6.1 AOV网络286
9.6.2 AOE网络287
9.7 本章小结288
习题9289
实验训练9290
第10章 查找与散列结构300
10.1 基本概念300
10.2 静态查找表301
10.2.1 顺序表的查找301
10.2.2 有序表的查找303
10.2.3 索引顺序表的查找305
10.3 动态查找表306
10.4 Hash表及其查找307
10.4.1 Hash表307
10.4.2 Hash函数的构造方法309
10.4.3 处理冲突的方法312
10.4.4 Hash表的查找及其分析313
10.5 本章小结315
习题10315
实验训练10316
第11章 排序324
11.1 排序的基本概念324
11.2 插入排序326
11.2.1 直接插入排序326
11.2.2 其他插入排序327
11.2.3 希尔排序330
11.3 快速排序331
11.4 选择排序334
11.4.1 简单选择排序334
11.4.2 锦标赛排序335
11.4.3 堆排序338
11.5 归并排序343
11.5.1 归并343
11.5.2 迭代的归并排序算法344
11.6 基数排序346
11.6.1 多关键字排序346
11.6.2 链式基数排序346
11.7 本章小结348
习题11349
实验训练11349
参考文献354
【前言】
高等学校规划教材
C 与数据结构
(第4版)
杨心强 陈国友 编著
Publishing House of Electronics Industry
北京?BEIJING
内 容 简 介
本书是国**(网络教育)精品课程的教学成果,也是北京市高等教育精品教材,根据***高等学校大学计算机课程教学指导委员会《大学计算机基础课程教学基本要求》中有关理工类专业的计算机基础课程教学要求组织编写而成,内容由浅入深,案例丰富,通俗易懂,实用性强。
本书在介绍了C 语言的程序设计方法的基础上,采用面向对象的思想和抽象数据类型的概念,用C 语言有效地组织和描述了线性表、堆栈、队列、树和图等各种典型的数据结构和相关类的实现,并介绍了每一种数据结构的不同存储方法、典型操作及其应用。
全书共11章,包括数据结构的基本概念,数组与指针,函数,C 编程基础,继承和多态,模板和STL,线性表,堆栈与队列,树与二叉树,图,查找与散列结构,排序等。本书各章配有习题和实验训练题,方便实践教学,并为任课教师提供了电子课件和示例源代码。
本书可作为高等院校电子信息类以及其他相关专业本科生教材和教学参考书,也可供从事程序设计工程的人员参考使用。
图书在版编目(CIP)数据
算法设计与分析:C 语言描述 / 陈慧南编著. —3版. —北京:电子工业出版社,2018.1
ISBN 978?7?121?33054?4
Ⅰ. ①算… Ⅱ. ①陈… Ⅲ. ①C 语言-数据结构-算法分析-高等学校-教材 Ⅳ. ①TP312.8 ②TP311.12
中国版本图书馆CIP数据核字(2017)第284089号
策划编辑:冉 哲 特约编辑:杨永毅
责任编辑:冉 哲
印 刷:
装 订:
出版发行:电子工业出版社
北京市海淀区万寿路173信箱 邮编 100036
开 本:787×1092 1/16 印张:19.75 字数:502.4千字
版 次:2006年5月第1版
印 次:2018年1月第1次印刷
定 价:49.00元
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。
质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。
本书咨询联系方式:192910558(QQ群)。
前 言
本书是北京市高等教育精品教材,是北京市精品课程和国**精品课程“数据结构与算法设计”的配套教材。编写者是国**优秀教学团队和北京市优秀教学团队“计算机公共课教学团队”的主要成员。本书的编写以***高等学校大学计算机课程教学指导委员会《大学计算机基础课程教学基本要求》中有关理工类专业的计算机基础课程教学要求为指导思想,借鉴了***大学计算机课程改革项目关于培养计算思维的相关成果,结合具体教学改革实践,总结了国**精品课程和北京市精品课程“数据结构与算法设计”的建设经验,坚持以培养学生解决实践问题的能力为特色,以适应信息时代的人才培养模式。
1. 本书的写作特点
本书是《C 与数据结构(第3版)》的修订版,其写作在延续第3版的特点的基础上,根据实际教学的要求,做了相应的改进。数据结构是计算机算法的设计基础,在计算机科学中占有非常重要的地位。深入研究数据结构对构造完*算法结构和设计具有重要的作用。程序设计语言是实现算法的载体,语言只有满足算法实现的需求,才能被认识和掌握,数据结构只有通过程序语言才能在应用中发挥作用。因此,本书力求以算法为中介,以实现读者学习程序设计语言和学习数据结构的共同进步。
本书在介绍了C 程序设计方法的基础上,采用C 程序设计语言描述算法。C 是一种既支持面向过程程序设计,又支持面向对象程序设计的混合型语言,它独特的面向对象特征,可以为面向对象技术提供全面支持,是描述算法的一种较为理想的语言。采用面向对象程序设计语言描述施加于数据结构之上的算法,不仅有利于与面向对象技术相结合,也为上机实践提高高级语言程序设计水平提供了方便。
本书共包括11章。第1章是对数据结构和面向程序设计方法的概述。第2章~第5章是C 语言程序设计基础,主要内容是C 编程基础,精炼地介绍了数组与指针、函数、C 类及其对象的封装性、引用、友元和重载、继承与派生、多态性与虚函数、模板以及STL的相关内容。第6章~第11章重点介绍典型的数据结构,主要内容包括线性表,堆栈与队列,树与二叉树,图,查找与散列结构,排序。全书每章都配有习题以及相应的程序例题和实验训练题。
本次改版修订,针对读者特点和计算机教学的要求,加强了对编程基础的介绍。在介绍数据结构的同时,在合适的时机引入相关的编程技术的基本原理、原则、实用技巧,以期培养读者良好的编程风格、编程思路,为今后继续深入学习和应用高级编程技巧打下基础。
2. 本书的编排特点
1)本书每章均安排有习题和实验训练题,可方便实践教学。
2)书中重要内容采用黑体标注。
3)本书强调可读性。书中程序全部采用统一的设计风格。例如,类名和变量名的定义做到“望名知义”;采用缩进格式组织程序;对程序中的语句尽可能多地使用注释。
4)本书包含大量的程序示例,给出了运行结果。凡是程序开头带有程序名编号的程序,都是可以直接在计算机上编译运行的程序。
3. 教学支持
本书的电子教案可以在讲课时用多媒体投影演示。教师不仅可以使用本教案,还可以方便地修改和重新组织其中的内容以适应自己的教学需要。使用本教案可以减少教师备课时编写教案的工作量,从而提高教学效果和效率。
本书为教师免费提供电子教案和程序示例代码。需要的教师可以直接登录华信教育资源网http://www.hxedu.com.cn注册后免费下载。
本书由高飞设计总体架构。胡进编写第1章和第6章,并负责各章节中编程风格、代码改进等;第2~5章由白霞编写;第7章和第8章由高飞编写;第9章由聂青编写;第10章和第11章由吴浩编写。全书由高飞、吴浩统稿、定稿。
感谢北京理工大学“计算机公共课教学团队”中从事教学工作多年的同仁对本书的建议和帮助。电子工业出版社章海涛编辑对本书的编写提出了宝贵的意见,在此对电子工业出版社和章海涛编辑的辛勤工作和热心帮助一并表示衷心的感谢。
由于计算机算法和程序设计技术发展迅速,编者水平有限,书中的疏漏与不足在所难免,敬请广大读者和同仁不吝赐教,拔冗指正。
感谢大家选用本书,欢迎大家对本书提出意见和建议,编者E-mail:gaofei@bit.edu.cn。
编 者
于北京理工大学
2017年10月
— 没有更多了 —
以下为对购买帮助不大的评价