目录 第1章绪论 1.1数据结构的基本概念 1.1.1基本概念和术语 1.1.2数据结构三要素 1.2算法 1.2.1算法的基本概念 1.2.2算法效率的评定 小结 第2章线性表 2.1线性表的定义 2.2顺序表的定义和基本操作的实现 2.2.1顺序表的定义 2.2.2顺序表上基本操作的实现 2.3链表的定义和基本操作的实现 2.3.1链表的定义 2.3.2单链表上基本操作的实现 2.3.3双链表 2.3.4循环链表 2.4线性表相关算法设计与分析 小结 第3章栈和队列 3.1栈 3.1.1栈的定义 3.1.2栈的顺序存储结构 3.1.3栈的链式存储结构 3.2队列 3.2.1队列的定义 3.2.2队列的顺序存储结构 3.2.3队列的链式存储结构 3.3栈与队列相关算法设计与分析 小结 第4章串 4.1串的基本介绍 4.1.1串的基本概念 4.1.2串的顺序存储结构 4.1.3串的链式存储结构 4.2串的模式匹配 4.2.1暴力模式匹配算法 4.2.2改进的模式匹配算法——KMP算法 4.3串相关算法设计与分析 小结 第5章树与二叉树 5.1树 5.1.1树的定义 5.1.2树的基本术语 5.1.3树的种类 5.1.4树的性质 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.4二叉树相关算法设计与分析 小结 第6章图 6.1图的基本介绍 6.1.1图的定义 6.1.2图的存储方法 6.2图的遍历 6.2.1广度优先搜索 6.2.2深度优先搜索 6.3图的应用 6.3.1最小生成树 6.3.2最短路径 6.3.3拓扑排序 6.3.4关键路径 小结 第7章查找 7.1查找的基本概念 7.2顺序查找和二分查找 7.2.1顺序查找 7.2.2二分查找 7.3散列表 7.3.1散列表的基本概念 7.3.2散列表的构造方法 7.3.3处理冲突的方法 7.3.4散列表的查找效率 7.4查找相关算法设计与分析 小结 第8章排序 8.1排序的基本概念 8.2插入排序 8.2.1直接插入排序 8.2.2折半插入排序 8.2.3希尔排序 8.3交换排序 8.3.1冒泡排序 8.3.2快速排序 8.4选择排序 8.4.1简单选择排序 8.4.2堆排序 8.5归并排序和基数排序 8.5.1归并排序 8.5.2基数排序 8.6排序相关算法设计与分析 小结 第9章Python数据结构 9.1列表 9.2元组 9.3字典 9.4集合 9.5collection.deque 附录A数据结构实验 实验1猴子选大王 实验2订票系统 实验3两数之和 实验4点亮技能图 实验5网络延迟时间 实验6运动会分数统计 附录B数据结构综合设计 综合设计1顺序表操作 综合设计2链表操作 综合设计3二叉树的操作 参考文献