新書推薦:
《
敦煌究竟有多美
》
售價:NT$
454.0
《
我在唐朝穿什么(图解中国传统服饰 服饰搭配 汉服研究 古代服饰)
》
售價:NT$
449.0
《
优化你的2小时 : 基于神经科学和能量流的时间管理方法
》
售價:NT$
255.0
《
经典与经学
》
售價:NT$
398.0
《
颧种植理论与临床
》
售價:NT$
2030.0
《
《胡适留学日记》汇校本(全四册)
》
售價:NT$
3468.0
《
特大型电网企业网络安全从业指南 Java代码审计与分析
》
售價:NT$
806.0
《
心灵哲学
》
售價:NT$
653.0
|
編輯推薦: |
《数据结构(Python版)》在以下几个方面具有突出特色:
(1)内容精炼,强化基础,合理安排内容结构,做到深入浅出、循序渐进。
本书各章节都从基本概念入手,逐步介绍其特点和基本操作的实现,把重点放在基础知识的介绍上,缩减难度较大的内容,是理论叙述简洁明了、重点突出、详略得当。
(2)应用实例丰富、完整。
本书通过丰富的应用实例和源代码使理论和应用紧密结合,增强学生的理解能力。锻炼程序设计思维,并且代码有详细明了的注释,易于阅读。
(3)每章后面附有小结和习题,便与学习、总结和提高。
本书结合学生的学习实际选择难度适中、逻辑合理,适于初学者和进阶者开拓思路、深入了解数据结构使用方法和技巧的习题,并附有详细的解答过程和注意要点,达到通俗易懂、深入浅出的效果,培养读者迁移知识的能力。
(4)采用Python抽象类体现方法的通用性。
本书采用面向对象的观点讨论数据结构技术,先将抽象数据类型定义成接口,再结合具体的存储结构加以实现,并以各实现类为线索对类中各种操作的实现方法加以说明。
(5)图文并茂,便于学生直观地理解数据结构与算法。
1 简单易学:只要求学生学过高等数学,
|
內容簡介: |
本书在选材与编排上,贴近当前普通高等院校数据结构课程的现状和发展趋势,内容难易适度,突出实用性和应用性。本书并未面面俱到地介绍各种数据结构,而是通过分类和讲解典型结构,使读者对数据结构形成宏观认识。根据内容侧重,本书共分为8章,分别为绪论、线性表、栈和队列、串和数组、树结构、图、内排序和查找。 本书可以作为普通高校计算机相关专业数据结构课程的教材,也可以供学习数据结构的读者单独使用(包括参加计算机等级考试或相关专业自学考试)参考。 本书是高等院校计算机科学、软件工程及相关专业数据结构课程的理想教材,也可以供程序员、系统工程师等相关人员阅读参考。
|
目錄:
|
目录
第1章绪论
1.1引言
1.1.1学习目的
1.1.2课程内容
1.2基本概念
1.2.1数据与数据结构
1.2.2数据类型与抽象数据类型
1.3算法
1.3.1算法的概念
1.3.2算法描述
1.3.3算法分析
小结
习题1
第2章线性表
2.1线性表及其基本操作
2.1.1线性表的基本概念
2.1.2抽象数据类型描述
2.1.3线性表的存储和实现
2.2线性表的顺序存储
2.2.1顺序表
2.2.2顺序表的基本操作实现
2.3线性表的链式存储和实现
2.3.1单链表
2.3.2单链表的基本操作实现
2.3.3其他链表
2.4顺序表与链表的比较
小结
习题2
第3章栈和队列
3.1栈
3.1.1栈的基本概念
3.1.2栈的抽象数据类型描述
3.1.3顺序栈
3.1.4链栈
3.2队列
3.2.1队列的基本概念
3.2.2队列的抽象数据类型描述
3.2.3顺序队列
3.2.4链队列
3.2.5优先级队列
3.3栈和队列的比较
小结
习题3
第4章串和数组
4.1串
4.1.1串的基本概念
4.1.2串的抽象数据类型描述
4.1.3顺序串
4.1.4链串
4.2串的模式匹配
4.2.1Brute Force算法
4.2.2KMP算法
4.3数组
4.3.1数组的基本概念
4.3.2数组的特性
4.3.3数组的遍历
4.4特殊矩阵的压缩存储
4.4.1三角矩阵的压缩存储
4.4.2对称矩阵的压缩存储
4.4.3对角矩阵的压缩存储
4.4.4稀疏矩阵的压缩存储
小结
习题4
第5章树结构
5.1树
5.1.1树的基本概念
5.1.2树的术语
5.2二叉树
5.2.1二叉树的基本概念
5.2.2二叉树的性质
5.2.3二叉树的存储结构
5.2.4二叉树的遍历
5.2.5二叉树遍历算法的应用
5.2.6二叉树的建立
5.3哈夫曼树及哈夫曼编码
5.3.1哈夫曼树的基本概念
5.3.2哈夫曼树的构造
5.3.3哈夫曼编码
5.3.4构造哈夫曼树和哈夫曼编码的类的描述
5.4树和森林
5.4.1树的存储结构
5.4.2树的遍历规则
小结
习题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.2Kruskal算法
6.4.3Prim算法
6.5最短路径
6.5.1单源最短路径
6.5.2求任意两个顶点间的最短路径
6.6拓扑排序和关键路径
6.6.1拓扑排序
6.6.2关键路径
小结
习题6
第7章排序
7.1排序概述
7.1.1排序的基本概念
7.1.2排序算法的性能评价
7.1.3待排序的记录和顺序表的类描述
7.2插入排序
7.2.1直接插入排序
7.2.2希尔排序
7.3交换排序
7.3.1冒泡排序
7.3.2快速排序
7.4选择排序
7.4.1直接选择排序
7.4.2堆排序
7.5归并排序
小结
习题7
第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.3B-树和B 树
8.4哈希表查找
8.4.1哈希表的概念
8.4.2哈希函数
8.4.3解决冲突的方法
8.4.4哈希表查找性能分析
小结
习题8
附录A数据结构试卷
数据结构试卷一
数据结构试卷二
数据结构试卷三
数据结构试卷四
数据结构试卷五
附录B实践题
第2章线性表
第3章栈和队列
第4章串和数组
第5章树结构
第6章图
第7章排序
第8章查找
参考文献
|
內容試閱:
|
前言
随着近年来计算概念的快速拓展,计算科学已经发展成为一个内涵繁杂的综合性学科,其至少可以划分为计算机工程(CE)、计算机科学(CS)、信息系统(IS)、信息技术(IT)和软件工程(SE)5个领域,而且不同领域的人才所应具备的知识结构与能力侧重也不尽相同。尽管如此,数据结构在各领域的知识体系中仍然占据着重要的位置。数据结构是普通高等院校计算机专业和信息管理专业的一门必修课程,主要讨论数据的逻辑结构、在计算机中的储存结构以及对其进行的各种处理运算的方法和算法。
N.Wirth早在20世纪70年代就指出程序=数据结构 算法。数据结构主要研究数据在计算机中储存、组织、传递和转换的过程及方法,这些也是构成与支撑算法的基础。近年来,随着面向对象技术的广泛应用,从数据结构的定义、分类、组成到设计、实现与分析的模式和方法都有了长足的发展,现代数据结构更加注重和强调数据结构的整体性、通用性、复用性、间接性和安全性。
基于上述情况,本书选择Python作为描述语言。Python语言语法简洁优美,功能强大,有着广泛的应用领域,如互联网、大数据、人工智能等领域。因此,学习Python语言,在未来的学习和工作中,都有用武之地。同时,Python语言相对于大多数高级语言,更加适合初学者学习,Python的语法与伪代码描述很相似,逻辑清晰; 此外,Python语言也同样具有大部分高级语言的特性,对计算机相关专业的学生未来学习其他编程语言有所帮助。
在内容的选取与结构安排上,本书通过分类和讲解典型结构使读者对数据结构形成宏观认识。根据内容的侧重,本书分8章,分别为绪论、线性表、栈和队列、串和数组、树结构、图、排序和查找。
第1章介绍数据结构的基本概念、算法描述、算法的时间复杂度和空间复杂度等内容。本章是全书的基础。
第2章主要介绍线性表的基本概念和抽象数据类型的定义,线性表的顺序和链式两种存储方式的标识,以及线性表的基本操作实现和相应应用。
第3章简要介绍栈和队列的基本概念和抽象数据类型定义,栈和队列在顺序存储和链式存储结构下的基本操作和应用。
第4章主要介绍串的基本概念和数据类型定义,串的存储结构、基本操作实现和应用等内容。
第5章主要介绍树和二叉树的基本概念,详细介绍二叉树的性质和存储结构、便利方法的实现及应用、哈夫曼树的概念和构造方法。
第6章主要介绍图的基本概念、抽象数据类型定义、存储结构和遍历方法,还介绍最小生成树的基本概念和方法、最短路径的相关算法、拓扑排序的概念和实现方法。
第7章介绍排序的基本概念,插入排序、交换排序、选择排序、归并排序等多种排序的原理、实现方法及性能分析。
第8章主要介绍查找的基本概念,顺序查找、二分查找等查找的原理、实现方法和性能分析,平衡二叉树、哈希表的概念、结构定义和实现方法。
本书的理论知识的教学安排建议如下表所示。
|
|