没有合适的资源?快使用搜索试试~ 我知道了~
首页算法与数据结构 Python版
一本描述数据结构和算法的书籍,使用Python语言实现,高清非扫描版。 自从第一台需要人们用线缆和交换机向其传达指令的电子计算机问世以来,编程已发生了巨大 改变。计算机科技的革新给计算机科学家提供了越来越多的工具和平台,方便他们在社会的各个领 域一显身手。高速处理器、高速网络以及大容量存储器等在发展的同时也带来了难度螺旋式上升的 种种问题,而计算机科学家们必须解决它们。发展固然很快,众多基本原则却能经久不变。计算机 科学本质上是利用计算机来解决问题。 无疑你已经花费了大量时间学习解决问题所需要的基本能力,我们也相信你对自己理解问题并 提出解决方案的能力已很有自信。你应当已经感受到了编写程序代码常常是具有相当难度的。然 而,往往正是大型问题的繁杂,加上其解决方案与之相当的复杂性掩盖了解决问题的过程中涉及到 的基本思路。 本章接下来将主要强调两个重要的方面。第一,回顾计算机科学以及算法与数据结构的基本框 架,并特别强调我们学习这些内容的原因以及理解这些内容如何帮助我们更好地解决问题。第二, 了解python语言。尽管无法提供详尽透彻的指导,本章将给出具体案例并对其余章节中将会涉及到 的基本概念和思想做出解释。
资源详情
资源评论
资源推荐


问题求解:算法与数据结构
(Python 版)
目录
一. 引言 ........................................................................................................................................... 10
1.1. 目标 .................................................................................................................................................. 10
1.2. 开始学习 .......................................................................................................................................... 10
1.3. 计算机科学是什么 .......................................................................................................................... 10
1.4. 什么是程序设计 .............................................................................................................................. 11
1.5. 为何要学习数据结构和抽象数据类型 .......................................................................................... 12
1.6. 为何要学习算法 .............................................................................................................................. 13
1.7. Python 入门 ..................................................................................................................................... 13
1.7.1. 从数据开始 ................................................................................................................... 13
1.7.2 输入与输出 .................................................................................................................... 27
1.7.3 控制结构 .................................................................................................................... 31
1.7.4 异常处理 ........................................................................................................................ 35
1.7.5 定义函数 ........................................................................................................................ 37
1.7.6.Python 面向对象编程:定义类 ................................................................................. 38
小结 .......................................................................................................................................................... 54
关键词 ...................................................................................................................................................... 54
问题讨论 .................................................................................................................................................. 54
编程练习 .................................................................................................................................................. 55
二.算法分析 .................................................................................................................................. 56
2.2.什么是算法分析 ................................................................................................................................ 56
2.2.1. 大“O”表示法 ............................................................................................................. 60
2.2.2 变位词检测 ..................................................................................................................... 63
2.3 Python 数据结构的性能 .................................................................................................................. 69
2.3.1 列表 List ......................................................................................................................... 69
2.3.2 字典 ................................................................................................................................. 73
2.4 小结 .................................................................................................................................................... 76
2.5 关键字 ................................................................................................................................................ 76
2.6 问题讨论 ............................................................................................................................................ 76

三.基本数据结构类型 .................................................................................................................. 78
3.1 学习目标 ........................................................................................................................................... 78
3.2 什么是线性结构? ........................................................................................................................... 78
3.3 栈 ........................................................................................................................................................ 78
3.3.1 什么是栈? .................................................................................................................... 78
3.4 栈的抽象数据类型 ............................................................................................................................ 80
3.4.队列 ................................................................................................................................................. 80
3.4.1.什么是队列 .................................................................................................................. 80
3.4.2.抽象数据类型 Queue(队列) ...................................................................................... 81
3.4.3.在 Python 中实现 Queue ............................................................................................... 82
3.4.4. 模拟算法:热土豆 ....................................................................................................... 84
3.4.5. 模拟算法:打印任务 ................................................................................................... 86
3.4.6. 主要模拟步骤 ............................................................................................................... 88
3.4.7 Python 实现 ..................................................................................................................... 88
3.4.8. 讨论 ............................................................................................................................... 96
3.5.双端队列 ............................................................................................................................................ 97
3.5.1. 什么是双端队列 ........................................................................................................... 97
3.5.2. 抽象数据类型 ............................................................................................................... 97
3.5.3 在 Python 中实现双端队列 Deque .............................................................................. 98
3.5.4 “回文词”判定 ............................................................................................................ 99
3.6 列表 List .......................................................................................................................................... 101
3.6.1. 抽象数据类型无序列表 UnorderedList ..................................................................... 101
3.6.2.采用链表实现无序列表 ............................................................................................... 102
3.6.3 抽象数据类型:有序列表 .......................................................................................... 111
3.6.4. 实现有序列表 ............................................................................................................. 112
3.6.5. 链表实现算法分析 ...................................................................................................... 114
3.7.小结 .................................................................................................................................................. 115
3.8.关键词(按:依英文原词的词典顺序排列) .............................................................................. 115
3.9.问题讨论 .......................................................................................................................................... 116
4.递归 Recursion ............................................................................................................................ 119
4.1 目标 .................................................................................................................................................. 119
4.2 什么是递归 ..................................................................................................................................... 119
4.2.1 计算数字列表的和 ...................................................................................................... 119
4.2.2 递归三大定律 .............................................................................................................. 122

4.2.3.将整数转化成任意进制表示的字符串形式 ............................................................... 123
4.3 栈帧:实现递归 ............................................................................................................. 125
4.4. 图示递归 ........................................................................................................................................ 127
4.4.1. 谢尔宾斯基三角形 ..................................................................................................... 132
4.5.复杂递归问题 .................................................................................................................................. 135
4.5.1.河内塔问题 ................................................................................................................... 135
4.6.探索迷宫 .......................................................................................................................................... 137
4.7 动态规划 .......................................................................................................................................... 148
4.8 小结 .................................................................................................................................................. 154
4.9 关键词 .............................................................................................................................................. 154
4.10 问题讨论 ........................................................................................................................................ 154
4.11 词汇表 ............................................................................................................................................ 155
编程练习 ................................................................................................................................................ 156
5. 排序与搜索 ............................................................................................................................... 158
5.1.目标 .................................................................................................................................................. 158
5.2.搜索 .................................................................................................................................................. 158
5.2.1.顺序搜索 ....................................................................................................................... 158
5.2.2.二分法搜索 ................................................................................................................... 161
5.2.3. 散列 ............................................................................................................................. 164
5.3.排序 .................................................................................................................................................. 175
5.3.1.冒泡排序 ....................................................................................................................... 175
5.3.2.选择排序 ....................................................................................................................... 178
5.3.3.插入排序 ....................................................................................................................... 179
5.3.4. 希尔排序 .................................................................................................................................. 182
5.3.5.归并排序 .................................................................................................................................... 185
5.3.6.快速排序 .................................................................................................................................... 186
5.4.小结 .................................................................................................................................................. 187
5.5 关键词 ............................................................................................................................................ 188
5.6.问题讨论 .......................................................................................................................................... 188
5.7.编程练习 ........................................................................................................................................ 189
6.树和树算法 ................................................................................................................................. 191
6.1.目标 .................................................................................................................................................. 191
6.2.树的例子 .......................................................................................................................................... 191

6.3.术语表和定义 .................................................................................................................................. 193
6.4.通过嵌套列表实现树 ...................................................................................................................... 195
6.5.节点和引用 ...................................................................................................................................... 199
6.6 解析树 ......................................................................................................................................... 203
6.7 树 的 遍 历 ..................................................................................................................................... 210
6.8 二叉堆 BINARY HEAP 实 现 的 优 先 队 列 ......................................................................... 213
6.8.1 二叉堆操作 ................................................................................................................... 213
6.8.2 二叉堆实现 ................................................................................................................... 214
6.9 二叉搜索树 ...................................................................................................................................... 222
6.9.1 搜索树操作 .................................................................................................................. 222
6.9.2 搜索树实现 ................................................................................................................... 223
6.9.3 搜索树分析 .................................................................................................................. 243
6.10 平衡二叉搜索树 ........................................................................................................................... 244
6.10.1 AVL 树性能 ............................................................................................................... 245
6.10.2 AVL 树实现 .............................................................................................................. 247
6.11 ADT Map 实现小结 ................................................................................................................... 254
6.12 小结 ............................................................................................................................................... 255
6.13 关键词 ........................................................................................................................................... 255
6.14 问题讨论 ....................................................................................................................................... 255
6.15 小试牛刀 ....................................................................................................................................... 257
7. 图和图算法 ............................................................................................................................... 259
7.1. 目标 ................................................................................................................................................ 259
7.2. 词汇表及定义 ................................................................................................................................ 259
7.3. 图抽象数据类型 ............................................................................................................................ 260
7.4. 邻接矩阵 ........................................................................................................................................ 261
7.5. 邻接表 ............................................................................................................................................ 261
7.6.实现 .................................................................................................................................................. 262
7.7. Word Ladder 词梯问题 ............................................................................................................... 264
7.7.1. 建立 Word Ladder 图............................................................................................. 265
7.7.2. 实现广度优先搜索(BFS) ........................................................................................ 267
7.7.3. 广度优先搜索(BFS)的分析 ................................................................................. 270
7.8. 骑士周游问题 .............................................................................................................................. 271
剩余301页未读,继续阅读

















Azhong666
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1