身边的信息学是垂直的信息类学科咨询和服务平台,致力于洞悉最前沿的教育动态与技术热点,共享最优质的教学资源与书籍信息。
今天为您推荐一本精品图书--数据结构:Python语言描述(7),本书配套资源丰富(电子课件、习题答案、电子教案、教学大纲、源代码),欢迎申请样书(链接见下方)
1作者介绍吕云翔,男,北京航空航天大学软件学院副教授。从年在北航软件学院工作以来,一直讲授本科生的“计算机导论”、“职业生涯规划”和“软件工程”三门课,以及研究生的“软件工程”课(全英文,-)。从年开始,以全英文的方式讲授“计算机导论”课程。先后以第一作者著、编著和翻译了多本书。年获得北航软件学院著书特别奖。获北航教学成果二等奖一项(),三等奖两项(、)。作为指导教师和评委指导学生参与冯如杯、创新大赛等。作为SAPERP专业主任,积极参与SAPERP专业的学科建设等。
2内容介绍本书选择Python作为描述语言,在选材与编排上,贴近当前普通高等院校“数据结构”课程的现状和发展趋势,内容难度适中,突出实用性和应用性。在内容选取与结构上,本书并未对各种数据结构面面俱到,而是通过分类和讲解典型结构,使读者形成对数据结构的宏观认识。本书共8章,分别为绪论、线性表、栈和队列、串和数组、树形结构、图、排序和查找。本书可作为高等院校计算机科学、软件工程等相关专业的数据结构课程的教材,也可供程序员、系统工程师等相关人员阅读参考。
3图书目录前言
第1章绪论1
1.1引言1
1.1.1学习目的1
1.1.2课程内容2
1.2基本概念2
1.2.1数据与数据结构2
1.2.2数据类型与抽象数据类型6
1.3算法9
1.3.1算法的概念9
1.3.2算法描述9
1.3.3算法分析11
小结13
习题
第2章线性表17
2.1线性表及其基本操作17
2.1.1线性表的基本概念17
2.1.2抽象数据类型描述18
2.1.3线性表的存储和实现19
2.2线性表的顺序存储19
2.2.1顺序表19
2.2.2顺序表的基本操作实现21
2.3线性表的链式存储和实现25
2.3.1单链表25
2.3.2单链表的基本操作实现27
2.3.3其他链表30
2.4顺序表与链表的比较31
2.5实验32
2.5.1数组奇偶分割32
2.5.2反转单向链表33
2.5.3链表实现34
小结38
习题
第3章栈和队列41
3.1栈41
3.1.1栈的基本概念41
3.1.2栈的抽象数据类型描述41
3.1.3顺序栈43
3.1.4链栈46
3.2队列50
3.2.1队列的基本概念50
3.2.2队列的抽象数据类型描述50
3.2.3顺序队列51
3.2.4链队列55
3.2.5优先级队列57
3.3栈和队列的比较60
3.4实验60
3.4.1汉诺塔60
3.4.2吃巧克力62
3.4.3数头顶63
3.4.4整数变换64
3.4.5表达式求值66
3.4.6用队列表示栈67
3.4.7用栈表示队列69
3.4.8层次遍历71
小结72
习题
第4章串和数组72
4.1串76
4.1.1串的基本概念76
4.1.2串的抽象数据类型描述76
4.1.3顺序串78
4.1.4链串82
4.2串的模式匹配82
4.2.1BruteForce算法83
4.2.2KMP算法83
4.3数组87
4.3.1数组的基本概念87
4.3.2数组的特性88
4.3.3数组的遍历88
4.4特殊矩阵的压缩存储89
4.4.1三角矩阵的压缩存储89
4.4.2对称矩阵的压缩存储90
4.4.3对角矩阵的压缩存储90
4.4.4稀疏矩阵的压缩存储91
4.5实验93
4.5.1AZY的冒险岛93
4.5.2最大连续子数组94
4.5.3合并有序数组95
4.5.4最长上升子序列96
小结97
习题
第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.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.2Kruskal算法
6.4.3Prim算法
6.5最短路径
6.5.1单源最短路径
6.5.2求任意两个顶点间的最短路径
6.6拓扑排序和关键路径
6.6.1拓扑排序
6.6.2关键路径
6.7实验
小结
习题
第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.6实验
7.6.1插入排序
7.6.2链表排序
7.6.3区间排序
小结
习题
第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.5实验
8.5.1寻找山形数组的顶点
8.5.2寻找和为指定值的数组元素
8.5.3寻找数组元素
小结
习题
附录
附录A名校数据结构程序设计考研真题解答(部分)
附录B名词索引
参考文献
4编辑推荐★本书各章都从基本概念入手,逐步介绍其特点和基本操作方法。
★本书通过丰富的应用实例和源代码使理论和应用紧密结合,并且代码有详细明了的注释。
★本书通过图表对数据结构及相应操作进行简单、直接的描述,使内容更加浅显易懂。
5配套资源1.教学课件
提供全书8章内容的教学课件,供广大教师授课参考。
2.电子教案
3.教学大纲
4.习题答案
5.源代码
6图书详情扫描下方