登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』数据结构:抽象建模、实现与应用

書城自編碼: 3482741
分類:簡體書→大陸圖書→計算機/網絡數據庫
作者: 孙涵,黄元元,高航,秦小麟
國際書號(ISBN): 9787111648208
出版社: 机械工业出版社
出版日期: 2020-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 64.7

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。)
《 英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。) 》

售價:HK$ 82.8
万千心理·儿童心理治疗中的心智化:临床实践指导
《 万千心理·儿童心理治疗中的心智化:临床实践指导 》

售價:HK$ 89.7
自我囚禁的人:完美主义的心理成因与自我松绑(破除你对完美主义的迷思,尝试打破自我评价过低与焦虑的恶性循环)
《 自我囚禁的人:完美主义的心理成因与自我松绑(破除你对完美主义的迷思,尝试打破自我评价过低与焦虑的恶性循环) 》

售價:HK$ 67.9
周易
《 周易 》

售價:HK$ 45.8
东南亚的传统与发展
《 东南亚的传统与发展 》

售價:HK$ 69.0
乾隆制造
《 乾隆制造 》

售價:HK$ 87.4
资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册)
《 资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册) 》

售價:HK$ 296.7
明代社会变迁时期生活质量研究
《 明代社会变迁时期生活质量研究 》

售價:HK$ 308.2

 

內容簡介:
本书以系统能力培养为宗旨,基于C语言,介绍了数据结构相关知识。本书各章均以实例引入,使学生理解不同数据结构应用于哪些场景。针对每种数据结构,均以理解和实现物理世界里各种联系在信息世界中的逻辑表示和在计算机中实现数据结构的存储和操作两条主线进行讲授。并配有大量的实践练习和教学资源,适合作为高校数据结构课程的教材。
目錄
前言
第1章 概论1
1.1 引言1
1.2 数据结构相关概念及术语1
1.3 抽象数据类型的表示与实现3
1.4 算法与算法分析6
1.4.1 算法6
1.4.2 算法分析与度量8
1.5 小结10
1.6 练习10
第2章 线性表11
2.1 引言11
2.2 线性表的抽象数据类型11
2.3 线性表的顺序表示与实现15
2.3.1 顺序表的定义和特点15
2.3.2 顺序表的存储结构15
2.3.3 顺序表基本操作的实现与性能分析16
2.4 线性表的链式表示与实现19
2.4.1 单链表20
2.4.2 其他形式的链表24
2.5 线性表的应用举例27
2.6 小结31
2.7 练习31
第3章 栈和队列32
3.1 引言32
3.2 栈的抽象数据类型32
3.3 栈的顺序表示与实现33
3.4 栈的链式表示与实现36
3.5 栈的应用举例37
3.5.1 逆序输出问题37
3.5.2 最近匹配与比较问题38
3.5.3 递归与回溯问题43
3.6 队列的抽象数据类型47
3.7 队列的顺序表示与实现48
3.8 队列的链式表示与实现50
3.9 队列的应用举例52
3.10 小结53
3.11 练习53
第4章 数组、广义表和字符串54
4.1 引言54
4.2 数组54
4.2.1 一维数组54
4.2.2 二维数组55
4.3 特殊矩阵的压缩存储56
4.3.1 对称矩阵56
4.3.2 对角矩阵57
4.4 稀疏矩阵的压缩存储57
4.4.1 稀疏矩阵的三元组表示57
4.4.2 三元组的顺序表表示58
4.4.3 三元组的十字链表表示61
4.5 广义表62
4.5.1 广义表的概念62
4.5.2 广义表的抽象数据类型63
4.5.3 广义表的存储结构64
4.6 字符串66
4.6.1 字符串的抽象数据类型66
4.6.2 字符串的存储结构与子串定位67
4.7 小结68
4.8 练习68
第5章 树和二叉树70
5.1 引言70
5.2 树的定义和基本术语70
5.2.1 树的定义70
5.2.2 树的逻辑表示71
5.2.3 树的基本术语72
5.2.4 树的抽象数据类型72
5.3 二叉树73
5.3.1 二叉树的定义73
5.3.2 二叉树的抽象数据类型74
5.3.3 二叉树的性质76
5.3.4 二叉树的存储结构77
5.3.5 二叉树的遍历79
5.3.6 二叉树遍历算法的
应用举例81
5.4 树和森林85
5.4.1 树与二叉树的转换85
5.4.2 森林与二叉树的转换86
5.4.3 树和森林的遍历87
5.5 霍夫曼树88
5.5.1 霍夫曼树的定义88
5.5.2 霍夫曼树的构造90
5.5.3 霍夫曼编码90
5.5.4 霍夫曼树和霍夫曼编码的算法实现92
5.6 小结94
5.7 练习94
第6章 图95
6.1 引言95
6.2 图的定义、基本术语和抽象数据类型95
6.3 图的存储方式97
6.3.1 邻接矩阵97
6.3.2 邻接表99
6.4 图的遍历101
6.4.1 深度优先遍历101
6.4.2 广度优先遍历102
6.4.3 图的遍历算法的应用举例103
6.5 最小生成树107
6.5.1 最小生成树的定义107
6.5.2 普里姆算法108
6.5.3 克鲁斯卡尔算法111
6.6 拓扑排序与关键路径112
6.6.1 拓扑排序112
6.6.2 AOE网与关键路径113
6.7 最短路径问题116
6.7.1 单源最短路径问题116
6.7.2 所有顶点对之间的最短路径119
6.8 小结121
6.9 练习122
第7章 查找123
7.1 引言123
7.2 查找表的定义与抽象数据类型123
7.3 顺序表的静态查找124
7.3.1 顺序查找125
7.3.2 折半查找126
7.3.3 索引查找129
7.4 树表的动态查找130
7.4.1 二叉排序树130
7.4.2 平衡二叉排序树138
7.4.3 B-树141
7.4.4 B+树146
7.5 哈希表的查找147
7.5.1 哈希表的定义147
7.5.2 哈希函数的构造方法148
7.5.3 处理冲突的方式150
7.5.4 哈希表的查找152
7.5.5 性能分析153
7.6 小结155
7.7 练习156
第8章 排序157
8.1 引言157
8.2 排序的定义与分类157
8.2.1 排序的定义157
8.2.2 排序的分类157
8.2.3 排序的数据类型158
8.3 插入排序158
8.3.1 直接插入排序158
8.3.2 希尔排序160
8.4 交换排序162
8.4.1 简单交换排序162
8.4.2 快速排序164
8.5 选择排序166
8.5.1 简单选择排序167
8.5.2 树形选择排序168
8.5.3 堆排序169
8.6 归并排序173
8.7 基数排序175
8.7.1 多关键字的排序175
8.7.2 基数排序的实现176
8.8 各种内部排序方法的比较178
8.9 小结179
8.10 练习179
內容試閱
“数据结构”是计算机类专业的基础课程,也是相关理工类专业的热门选修课程。本书是为该课程编写的教材,适合计算机类专业和相关理工类专业的本科生学习。
本书主要介绍如何合理地组织数据、有效地存储和处理数据、正确地设计算法以及对算法的复杂度进行分析和评价。通过深入理解各种基本数据结构的逻辑关系、物理存储和基本操作,初步建立数据结构设计、实现和运用的概念。同时,结合各种典型案例,讨论不同数据结构的特点、适用范围以及基本算法复杂度的分析方法,为后续的专业课程学习提供必要的基础知识。
本书的学习目标如下。
目标1:掌握线性表、栈和队列、数组和广义表、树和二叉树、图等各种基本数据结构的逻辑表达、物理存储和基本操作;掌握查找、排序的经典算法。
目标2:能够针对具体应用问题,根据问题的约束条件分析各种可选方案在数据存储、算法效率上的利弊,并选择恰当的数据结构、存储表示和与之对应的操作方法。
目标3:能够结合具体应用案例,合理选择和改进经典的数据结构,使之针对具体应用能够有效地存储和处理数据,能够在此基础上正确地设计算法,并对算法进行有效的分析和评价。
本书共分为8章。第1章主要介绍数据结构相关的概念及术语,以及算法的定义、特性和算法设计的目标。第2~4章主要讨论各种基本结构的抽象数据类型、顺序和链式表示与实现,以及相关的应用。第5章和第6章在讨论树和图的抽象数据类型、顺序和链式表示与实现的基础上,重点讨论树和图的遍历方法以及基于此的典型应用。第7章和第8章分别讨论查找和排序的经典算法与改进策略。
对于广大读者来说,学习数据结构课程的关键是把握两条主线。
一条主线是如何理解和实现物理世界中的各种联系在信息世界中的逻辑表示。物理世界中的万般联系都是形象而具体的,需要通过抽象建模抓住这些联系的本质,即线性、树形或者图状结构,从而将其转换为信息世界中的逻辑表示。例如:生活中的各种排队可以抽象成线性结构中的队列,家族谱可以映射为树形结构,专业课程的先修后修关系可以构成有向的图结构。抽象建模与表示能力是工科类专业学生必须具备的基本能力。不论是不是计算机类专业的学生,在学习这门课程时,都必须牢牢把握这条主线。
另一条主线是如何在计算机中实现数据结构的存储和操作。存储的方式主要分为顺序存储和链式存储两大类。基本操作一般包括初始化及销毁操作、访问型操作和加工型操作三大类。这三类操作在两种不同存储模式下的算法的效率是有差异的,需要进行比较分析,总结各自的优势和不足,从而针对具体的现实问题,选择恰当的存储方式来保证操作执行的效率。在比较分析基础上得到有效结论是这条主线中的能力训练要求。
此外,算法设计与优化也是值得关注的问题,本书中的查找和排序部分将展示算法设计与优化的思路。例如,排序算法如何从时间复杂度On2的经典算法开始,通过对恰当结构的引入将算法时间复杂度降到Onlogn;查找算法如何从时间复杂度On的穷举算法开始,通过对数据的排序约束和树形结构的引入,将时间复杂度降到Ologn,甚至在一些特殊规则的约束下能够接近O1。我们不仅要掌握经典算法本身,更要关注算法优化的策略和方向,以便在解决实际问题时能够设计出高效的算法。
最后,从不同学习者的角度来讨论一下如何学习本门课程。
对于计算机类专业的学生,本书所涉及的内容均需掌握。在此基础上,学生需要大量的训练,以具备抽象建模能力,能够就实际问题选择或设计恰当的数据结构。此外,在编程实现过程中,能够基于问题的约束,在比较、分析的基础上选择恰当的存储方式和算法的实现方式,能够对算法的时间和空间复杂度进行合理的分析,能够对算法的改进和优化有恰当的思路,从而为实际问题提供高效的解决方案。
对于其他理工类专业的学生,希望通过本门课程的学习达成两点目标:一是具备抽象建模能力,能够对物理世界中的问题描述进行抽象建模,从而在信息世界里进行合理表达;二是具备算法选择能力,能够根据输入数据的表现形式、数据结构的存储方式和基于此的算法效率特征,选择相应的数据结构和算法来高效地解决实际问题。
本书在构思和准备过程中参考了国内外相关的数据结构教材,特别是严蔚敏、殷人昆、陈越、邓俊辉等老师编写的教材,这些经典教材的内容、写法给了作者很多启发。在本书的编写过程中,南京航空航天大学的秦小麟老师给予了很多指导意见。在此一并向这些老师表示感谢。本书第1~3章由孙涵编写,第4章和第8章由高航老师编写,第5~7章由黄元元老师编写,全书由孙涵负责统稿和审定。
尽管本书是作者多年教学经验的总结,但限于作者的学识,书中难免有疏漏与不足之处,敬请各位同行与读者批评指正,以利于我们不断提升教学水平、丰富课程内容。
孙涵
南京航空航天大学计算机科学与技术学院
2019年12月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.