![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python数据结构
大神拉了o
学无止境
展开
-
二分查找算法
二分查找 python实现 class binary_search: def binary_searchway(self, list, item): low = 0 high = len(list) - 1 while low <= high: mid = int((low + high)/2) ...原创 2018-09-17 16:54:17 · 79 阅读 · 0 评论 -
快速排序
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...原创 2018-09-18 21:54:35 · 199 阅读 · 0 评论 -
选择排序
def findSmallest(arr): #存储最小的值 smallest = arr[0] #存储最小元素的索引 smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest = arr[i] small...原创 2018-09-19 18:22:56 · 95 阅读 · 0 评论 -
广度优先搜索
广度优先搜索是一种用于图的查找算法,可帮助回答两类问题: 1.从节点A出发,有前往节点B的路径吗? 2.从节点A出发,前往节点B的哪条路径最短? 查找原则:如果朋友是一度关系,朋友的朋友是二度关系,因此,你应该先在一度关系中搜索,确定其中没有你要查找的目标,才在二度关系中搜索,以此类推。 代码 (在所创建的朋友圈字典中查找特定的人) # 用字典实现一个关系图 graph = {} graph['y...原创 2018-09-23 09:30:32 · 161 阅读 · 0 评论 -
狄克斯特拉算法
广度优先算法,它找出的是段数最少的路径(无向图)。如果我们要找出最快的路径(加权图),可以使用狄克斯特拉算法。 狄克斯特拉算法包含四个步骤: 1.找出"最便宜"的节点,即可在最短时间内到达的节点 2.更新该节点的邻居的开销 3.重复这个过程,直到对图中的每个节点都这样做了 4.计算最终路径 以下图为例 实现狄克斯特拉算法(从起点到终点的最短路径) 要编写解决这个问题的代码,需要三个字典(散列表)...原创 2018-09-23 10:47:24 · 321 阅读 · 0 评论