在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例常用Python方法 → python解决数据结构和算法.pdf

python解决数据结构和算法.pdf

常用Python方法

下载此实例
  • 开发语言:Python
  • 实例大小:10.87M
  • 下载次数:61
  • 浏览次数:202
  • 发布时间:2020-12-12
  • 实例类别:常用Python方法
  • 发 布 人:D_blacker
  • 文件格式:.pdf
  • 所需积分:4
 相关标签: python 数据结构 py 结构 数据

实例介绍

【实例简介】

假设我们的有序列表中已有:17,26,54,77 和 93,我们想添加值 31,则 add 方法必须在 26 和 54 之间添加这个新的节点。图 17 显示了具体做法。正如前面解释的,我们需要遍历链表来寻找 添加新节点的位置。遍历时,当我们遍历完了整个列或者当前节点的值大于我们要添加的值时,我 们就找到了添加新节点的位置。在我们的例子中,找到了值 54 就停止遍历。 


【实例截图】

from clipboard

from clipboard

【目录】


问题求解:算法与数据结构
(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
7.8.1. 建立骑士周游图 ......................................................................................................271
7.8.2. 实现骑士周游 ..........................................................................................................274
7.8.3.骑士周游分析 ..........................................................................................................278
7.8.4. 通用深度优先搜索 ..................................................................................................280
7.9 拓扑排序..........................................................................................................................................285
7.10 强连通分支....................................................................................................................................286
7.11 最短路径问题................................................................................................................................289
7.11.1.Dijkstra 算法 ..........................................................................................................291
7.11.2.Dijkstra算法分析 ...................................................................................................296
7.12.Prim 最小生成树算法...................................................................................................................296
7.13. 小结............................................................................................................................................302
7.14 .关键词.......................................................................................................................................302
7.15 问题讨论.......................................................................................................................................303
7.16 编程练习.......................................................................................................................................303


【核心代码】


def add(self, item):
 current = self.head
 previous = None
 stop = False
 while current != None and not stop:
 if current.get_data() > item:
 stop = True
 else:
 previous = current
 current = current.get_next()
 temp = Node(item)
 if previous == None:
 temp.set_next(self.head)
 self.head = temp
 else:
 temp.set_next(current)
 previous.set_next(temp)


实例下载地址

python解决数据结构和算法.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警