
数据结构
朋克归零膏
这个作者很懒,什么都没留下…
展开
-
图的遍历 DFS和BFS
有图像帮助理解的算法都不是很难,如图,从0出发,进行深度优先遍历和广度优先遍历。这个图和我做的题目可能不太符合,只是方便理解,真正输入的是这样的邻接矩阵G = {'0': ['1', '2'], '1': ['2', '3'], '2': ['3', '5'], '3': ['4'], '4': [], '5': []}深度优先遍历类似于树的先序遍历:准备一个集合存放走过的顶点。找出从0出发还没被访问过的邻接的顶点,访问该顶点。重复2,直到原创 2020-06-17 18:00:36 · 170 阅读 · 0 评论 -
Prim算法最小生成树-Python
qwurey的文章写的很好懂了,但是自己代码再写出来确实不一样,主要还是练一下基本功,自己基本功还不够,代码勉强凑合吧,可能过多一阵自己回来再看就能写出更好的。作者的图很好看,用什么画的呢。VISITED = 999999 # 表示已经加入MSTDISCONNECT = 10000 # 表示无通路def Prim(graph: dict, start: str) -> list: lowcost = [DISCONNECT]*len(graph) lowcost[int原创 2020-06-19 17:40:29 · 319 阅读 · 0 评论 -
栈、队列 python
栈栈的操作都只在栈顶,是一种LIFO(后进先出)的数据结构。class Stack(object): def __init__(self, limit=10): self.stack = [] self.limit = limit def push(self, data): if len(self.stack)>=self.limit: raise IndexError("超出栈容量") s原创 2020-06-23 15:18:54 · 112 阅读 · 0 评论 -
数据结构 python
栈class Stack(object): def __init__(self, limit=10): self.stack = [] self.limit = limit def push(self, data): if len(self.stack)>=self.limit: raise IndexError("超出栈容量") self.stack.append(data) de原创 2020-07-07 17:53:20 · 298 阅读 · 0 评论 -
二叉树 python
百度定义:二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。class Node(object): def __init__(self, item): self.item = item self.left = None self.right = Nonec原创 2020-07-02 16:51:55 · 108 阅读 · 0 评论