数据结构与算法Python语言介绍_邱宗彦下载https://pan.baidu.com/s/1uFRdUS-vA_EuPnRj9zSsTQ扫描下方二维码关注公众号回复100150本的目录结构全书内容如下:第一章简介11.1计算机问题求解11.1.1程序开发过程11.1.2一个简单的例子31.2问题求解:十字路口红绿灯的布置41.2.1问题分析与提炼51.2.2图顶点分组与算法61.2.3算法细化和Python描述71.2.4讨论81.3算法和算法分析101.3.1问题、问题示例和算法101.3.2算法成本及其度量141.3.3算法分析191.3.4Python程序的计算成本(复杂性)211.4数据结构231.4.1数据结构及其分类241.4.2计算机内存对象表示261.4.3Python对象和数据结构ures30习题32第2章抽象数据类型和Python类342.1抽象数据类型342.1.1数据类型和数据结构342.1.2抽象数据类型的概念362.1.3抽象数据类型的描述372.2Python类392.2.1有理数类392.2.2高级类定义402.2.3本书使用的ADT描述形式432.3类定义和使用442.3.1类的基本定义和使用442.3.2实例对象:初始化和使用452.3.3解释要点472.3.4继承492.4Python异常532.4.1异常类和自定义异常532.4.2异常传播和捕获542.4.3内置标准异常类542.5类定义示例:学校人事管理系统中的类552.5.1问题分析与设计562.5.2人事记录类实现572.5.3讨论62章节总结63练习64第3章线性表663.1线性表和表抽象数据类型的概念663.1.1概念和适当的表的关系663.1.2表抽象数据类型673.1.3线性表的实现:基本考虑693.2序列表的实现693.2.1基本实现方法693.2.2序列表基本操作的实现713.2.3序列表的结构743.2。4Python链表763.2.5序列表简单总结783.3链表793.3.1线性表的基本需求和链表793.3.2单链表793.3.3单链表类的实现843.4链表的变形和操作list883.4.1单链表的简化单变形883.4.2循环单链表913.4.3双链表923.4.4两个链表的运算953.4.5不同链表的简单总结983.5表的应用993.5.1基于“数组”概念的Josephus问题及求解》993.5.2基于序列表1003.5.3基于循环单链表的求解101章节总结102实践103第四章字符串1074.1字符集、字符串与字符串操作1074.1.1字符串的相关概念1074.1.2字符串的抽象数据类型1094.2字符串的字符实现1094.2.1基本实现问题和技巧1094.2.2实用语言中的字符串1104.2.3Python中的字符串1114.3字符串匹配(子串搜索)1124.3.1字符串匹配1124.3.2字符串匹配和朴素匹配算法1134.3.3无回溯字符串匹配算法(KMP算法)1154.4字符串匹配问题1194.4.1字符串匹配/搜索的不同需求1204.4.2一个简化的正则表达式1224.5Python正则表达式1234.5.1概述1244.5.2基本情况1244.5.3主要操作1254.5.4正则表达式的构造1264.5.5正则表达式的使用132本章小结132习题133第5章栈与队列1355.1概述1355.1.1栈、队列和数据使用顺序1355.1.2应用环境1365.2栈:概念和实现1365.2.1栈抽象数据类型1375.2.2栈序列表实现1375.2.3栈链表实现1395.3栈应用1405.3.1简单应用:括号匹配问题1405.3.2表达式的表示、计算和转换1425.3.3堆栈和递归1495.4队列1555.4.1队列的抽象数据类型1555.4.2队列链表的实现1555.4.3队列序列表的实现1565.4.4队列列表的实现1585.4.5队列的应用1605.5迷宫求解和状态空间搜索1625.5.1迷宫求解:分析和Design1625.5.2解决迷宫的算法1645.5.3迷宫问题和搜索1675.6一些补充1715.6.1与堆栈或队列相关的几种结构1715.6.2几个问题的讨论172本章小结173习题173第6章 二叉树和树1766.1二叉树:概念和属性1766.1.1概念和属性1776.1.2抽象数据类型1816.1.3遍历二叉树1816.2二叉树的列表实现1836.2.1设计和实现1836.2.2二叉树的简单应用:表达式树1856.3优先队列1886.3.1概念1886.3.2基于线性表的实现1896.3.3树结构和堆1916.3.4优先队列的堆实现1926.3.5堆的应用:堆排序1956.4应用:离散事件模拟1966.4.1通用仿真框架1976.4.2海关检查站仿真系统1986.5二叉树类实现2026.5.1二叉树节点类2036.5.2遍历算法2046.5.3二叉树类2086.6哈夫曼树2096.6.1哈夫曼树和哈夫曼算法2096.6.2霍夫曼算法的实现2106.6.3霍夫曼编码2116.7树和森林2126.7.1实例和表示2136.7.2定义和相关概念2136.7.3抽象数据类型和操作2156.7.4树的实现2166.7.5树的Python实现218章节小结220习题220第7章图2247.1概念、性质和实现2247.1.1定义和图2247.1.2图的一些概念和性质2257.1.3图抽象数据类型2277.1.4图的表示和实现2287.2图结构的Python实现2317.2.1邻接矩阵实现2317.2.2压缩邻接矩阵(邻接表)实现2337.2.3总结2357.3基本图算法2357.3.1图遍历2367.3.2生成树2387.4最小生成树2407.4.1最小生成树问题2407.4.2Kruskal算法424.3Prim算法243*7.4.4Prim算法改进2467.4.5最小生成树问题2477.5Shortest路径2487.5.1最短路径问题2487.5.2求解单源点最短路径的Dijkstra算法2487.5.3求解任意顶点间最短路径的Floyd算法2527.6AOV/AOE网络及其算法2557.6.1AOV网络,拓扑排序与拓扑序列2557.6.2拓扑排序算法2577.6.3AOE网络与关键路径2587.6.4关键路径算法259章节小结261习题262第八章 字典和集合2658.1数据存储、检索和字典2658.1.1数据存储和检索2658.1.2字典实现问题2678.2字典线性列表实现2698.2.1基本实现2698.2.2有序线性列表和二进制检索2708.2.3字典线性表总结2728.3哈希和哈希表2738.3.1哈希的思想和应用2738.3.2哈希函数2758.3.3冲突的内部解决:开放地址技术2778.3.4外部解决技术2808.3.5哈希表的性质2808.4集合2828.4.1概念,操作集合和抽象数据类型2828.4.2集合的实现2838.4.3特殊实现技术:位向量实现2858.5Python的标准字典类dict和set2868.6二叉排序树和字典2878.6.1二叉排序树2888.6.2最优二叉排序树2958.6.3一般情况下的最优二叉排序树2978.7平衡二叉树3028.7.1定义和属性3028.7.2AVL树3038.7.3插入操作3048.7.4相关问题3108.8动态多分支排序树3118.8.1多分支排序树3118.8.2B树3128.8.3B+树314章节总结315练习316Chapter9 排序3199.1问题与性质3199.1.1问题定义3199.1.2排序算法3209.2简单排序算法3239.2.1插入排序3239.2.2选择排序3259.2.3交换排序3279.3快速排序实现3.12893299.3.2程序实现3309.3.3复杂性3319.3.4另一个简单的实现3329.4归并排序3329.4。1序列表归并排序3339.4.2归并算法设计问题3339.4.3归并排序函数定义3339.4.4算法分析3359.5其他排序方法3359.5.1分配排序和基数排序3359.5.2排序相关的一些问题3389.5.3列表排序Python系统339
