算法|每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版 分享( 二 )


3.4.1单链表的简单变形88
3.4.2循环单链表91
3.4.3双链表92
3.4.4两个链表操作95
3.4.5不同链表的简单总结98
3.5表的应用99
3.5.1Josephus问题和基于“数组”概念的解法99
3.5.2基于顺序表的解100
3.5.3基于循环单链表的解101
本章总结102
练习103


第4章 字符串107
4.1 字符集、字符串和字符串操作107
4.1.1 字符串的相关概念107
4.1.2 字符串抽象数据类型109
4.2 字符串的实现109
4.2.1 基本实现问题和技术109
4.2.2 实际语言里的字符串110
4.2.3 Python的字符串111
4.3 字符串匹配(子串查找)112
4.3.1 字符串匹配112
4.3.2 串匹配和朴素匹配算法113
4.3.3 无回溯串匹配算法(KMP算法)115
4.4 字符串匹配问题119
4.4.1 串匹配/搜索的不同需要120
4.4.2 一种简化的正则表达式122
4.5 Python正则表达式123
4.5.1 概况124
4.5.2 基本情况124
4.5.3 主要操作125
4.5.4 正则表达式的构造126
4.5.5 正则表达式的使用132
本章总结132
练习133
【算法|每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版 分享】

第5章 栈和队列135
5.1 概述135
5.1.1 栈、队列和数据使用顺序135
5.1.2 应用环境136
5.2 栈:概念和实现136
5.2.1 栈抽象数据类型137
5.2.2 栈的顺序表实现137
5.2.3 栈的链接表实现139
5.3 栈的应用140
5.3.1 简单应用:括号匹配问题140
5.3.2 表达式的表示、计算和变换142
5.3.3 栈与递归149
5.4 队列155
5.4.1 队列抽象数据类型155
5.4.2 队列的链接表实现155
5.4.3 队列的顺序表实现156
5.4.4 队列的list实现158
5.4.5 队列的应用160
5.5 迷宫求解和状态空间搜索162
5.5.1 迷宫求解:分析和设计162
5.5.2 求解迷宫的算法164
5.5.3 迷宫问题和搜索167
5.6 几点补充171
5.6.1 几种与栈或队列相关的结构171
5.6.2 几个问题的讨论172
本章总结173
练习173


第6章 二叉树和树176
6.1 二叉树:概念和性质176
6.1.1 概念和性质177
6.1.2 抽象数据类型181
6.1.3 遍历二叉树181
6.2 二叉树的list实现183
6.2.1 设计和实现183
6.2.2 二叉树的简单应用:表达式树185
6.3 优先队列188
6.3.1 概念188
6.3.2 基于线性表的实现189
6.3.3 树形结构和堆191
6.3.4 优先队列的堆实现192
6.3.5 堆的应用:堆排序195
6.4 应用:离散事件模拟196
6.4.1 通用的模拟框架197
6.4.2 海关检查站模拟系统198
6.5 二叉树的类实现202
6.5.1 二叉树结点类203
6.5.2 遍历算法204