![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
coding喵
这个作者很懒,什么都没留下…
展开
-
LeetCode.864-题解
题目描述:给定一个二维网格 grid。 “.” 代表一个空房间, “#” 代表一堵墙, “@” 是起点,(“a”, “b”, …)代表钥匙,(“A”, “B”, …)代表锁。我们从起点开始出发,一次移动是指向四个基本方向之一行走一个单位空间。我们不能在网格外面行走,也无法穿过一堵墙。如果途经一个钥匙,我们就把它捡起来。除非我们手里有对应的钥匙,否则无法通过锁。假设 K 为钥匙/锁的个数,且满足 1 <= K <= 6,字母表中的前 K 个字母在网格中都有自己对应的一个小写和一个大写字母。换原创 2020-07-31 18:37:50 · 275 阅读 · 0 评论 -
最短路径算法-pyth实现
Dijkstra算法inf = float('inf')def dijkatra(grah, start): # 当前路径中未求的点 nodeA = [i for i in range(len(grah))] nodeA.remove(start) # 当前已经求得最短路径的点 nodeS = [start] # 最短路径字典 res = {} lujin = {} # 求到出发点距离最近的点,初始化最短路径res字典原创 2020-05-22 09:55:31 · 166 阅读 · 0 评论 -
AVL建树实现
class TreeNode: """ 树节点结构,加了左右子树的高度 """ def __init__(self, data): self.data = data self.left = None self.right = None self.lheight = 0 self.rheight = 0class BalanceTree: # 建树,输入列表数据,返回树的根结点原创 2020-05-08 17:57:43 · 139 阅读 · 0 评论 -
二叉树前序、中序、后序遍历,递归和非递归实现
class TreeNode: def __init__(self, data): self.data = data self.left = None self.right = Noneclass Order: def __init__(self): self.result = [] def preOrd...原创 2020-05-08 11:20:59 · 107 阅读 · 0 评论 -
约瑟夫环问题解决思路及python实现
约瑟夫环问题当前有n个人,给定一个数字k,n个人依次从1开始排序,排到k时,当前这个人出列,然后从下一个人开始从1开始继续排序,循环最后出列的人的序号是多少?衍生出的问题是第m轮出列的人的序号是多少?例子:当前有10个人,给定数字4,进行分析如下,编号从0开始,012(3)456789第一轮出列的为3号678012...原创 2020-05-07 18:45:55 · 1212 阅读 · 0 评论 -
KMP算法-python实现
kmp算法思想两个字符串匹配,kmp算法时间复杂度O(m+n)。总体思想就是对于匹配子串,利用先验知识尽可能的不重复匹配。next数组的定义对于子串,计算出当前字符之前字符串中相同字符的个数,这样在子串和字符串当前字符匹配不成功时,就可以直接跳转到之前字符串相同的位置的下一个,减少了匹配的次数。例如:abab,next数组为[0,0,0,1],表示当前字符匹配不成功时,前面字符串包含的相同...原创 2020-05-07 13:03:30 · 147 阅读 · 0 评论