![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 84
aprilvkuo
这个作者很懒,什么都没留下…
展开
-
哈密顿环的实现
哈密顿环DFS数据结构class Node(object): def __init__(self): self.way= None self.node= None步骤构建一个栈S,栈中初始状态只含有初始节点0的节点类(Node(0,[])).每次从栈顶弹出一个节点 i。 当节点i的编号为0,回到出发节点,而且i.way符合要求(每个节点只经过一次,最后回原创 2017-11-24 00:01:30 · 442 阅读 · 0 评论 -
搜索策略实现-DFS,BFS,爬山法,分支界限法
DFS数据结构class Node(object): def __init__(self): self.way= None self.node= None步骤构建一个栈S,栈中初始状态只含有初始节点0的节点类(Node(0,[])).每次从栈顶弹出一个节点 i。 当节点i的编号为0,回到出发节点,而且i.way符合要求(每个节点只经过一次,最后回到初始点原创 2017-11-24 00:23:48 · 567 阅读 · 0 评论 -
搜索策略-DFS,BFS,爬山法,分支界限法
最小生成树 Prim 基本思路:将点的集合分为C 和 V-C ,分别为访问过的。 Krusal 将每个顶点维护成单顶点连通分量C(v1),…C(vn) C(v_1),…C(v_n) 1. 先将边进行排序 2. 每次加入权值最小的边,如果两个节点在不同的连通分量,则加入,否则丢弃 最好的实现方式是使用并查集,时间复杂度为O(|E|log|E|)O(原创 2017-11-24 00:26:45 · 2281 阅读 · 0 评论 -
最小生成树,并查集
最小生成树Prim基本思路:将点的集合分为C 和 V-C ,分别为访问过的。Krusal将每个顶点维护成单顶点连通分量C(v1),…C(vn) C(v_1),…C(v_n) 1. 先将边进行排序 2. 每次加入权值最小的边,如果两个节点在不同的连通分量,则加入,否则丢弃 最好的实现方式是使用并查集,时间复杂度为O(|E|log|E|)O(|E|log |E|) 使用链表,算法复杂度O(|V原创 2017-11-24 00:29:51 · 185 阅读 · 0 评论 -
改进版LCS
改进LCS:用k表示最长公共子串允许的最长间隔。 如(‘我喜欢周杰伦歌’,’我最喜欢的是周杰伦唱的歌哈’,) 如果k = 2: 匹配出 ‘我喜欢‘ or ’周杰伦’ ,因为‘欢的是周’ 中‘欢’与‘周’字间隔为3,超过k值。 如果k = 3: 匹配出 ‘我喜欢周杰伦歌’ 。修改过的动态规划方法:用str1,str2分别表示需要匹配的串。用state[i][j原创 2017-11-24 00:32:34 · 322 阅读 · 0 评论