![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法python
athrunsunny
这个作者很懒,什么都没留下…
展开
-
Dijkstra算法
假设有一无向图如上所示,用一个二维数组来保存顶点和边 path = [[1, 2, 7], [1, 3, 9], [1, 6, 14], [2, 4, 15], [2, 3, 10], [3, 4, 11], [3, 6, 2], [4, 5, 6], [5, 6, 9]] 首先创建邻接矩阵 def build_graph(path): """创建邻接矩阵 """ max_size = 0 for i in range(len(path)): ...原创 2022-02-25 18:40:57 · 307 阅读 · 0 评论 -
二叉搜索树
class TreeNode: '''二叉搜索树节点的定义''' def __init__(self, val): self.val = val self.left = None self.right = None class OperationTree: '''二叉搜索树操作''' def insert(self, root, val): '''二叉搜索树插入操作''' if root == None: root = TreeNode(val) elif val .原创 2022-02-14 14:56:59 · 127 阅读 · 0 评论 -
十大排序算法(python版)
一、冒泡排序 s = [3, 4, 1, 6, 2, 9, 7, 0, 8, 5] for i in range(len(s)-1): for j in range(len(s)-i-1): if s[j]>s[j+1]: s[j],s[j+1]=s[j+1],s[j] print(s) #性质:1、时间复杂度:O(n2) 2、空间复杂度:O(1) 3、稳定排序 4、原地排序 持续更新中 ...原创 2022-02-10 23:45:49 · 532 阅读 · 0 评论