1、连通图的宽度优先搜索(BFS)
(1)算法思路
准备:起点v 和一个空队列Q 。
① 将v 打上已访问标记,并将 v 放入队列Q 。
② 取出队列 Q 的 队首元素 u ,搜索所有与 u 相邻的顶点。如果 w 与u 相邻且未访问, 则将w 打 上已访问标记,并将 w 放入队列Q 。
③ 重复②,直到队列Q 空
(2)算法代码:
(3)复杂性...
分类:
编程语言 时间:
2014-10-25 18:47:26
阅读次数:
270
上一篇文章 SURF算法与源码分析、上 中主要分析的是SURF特征点定位的算法原理与相关OpenCV中的源码分析,这篇文章接着上篇文章对已经定位到的SURF特征点进行特征描述。这一步至关重要,这是SURF特征点匹配的基础。总体来说算法思路和SIFT相似,只是每一步都做了不同程度的近似与简化,提高了效...
分类:
编程语言 时间:
2014-10-24 18:28:04
阅读次数:
450
一. 功能需求: 1. 可以让玩家摆棋,并让电脑推断是否正确2. 能让电脑给予帮助(给出全部可能结果)3. 实现悔棋功能4. 实现重置功能5. 加入点按键音效果更佳二. 整体设计计:1.核心算法: 递归实现(回溯算法): 思路:按行分别安排皇后(Q),Q数目眼下为8. Q1从第一行第一列開始到最后一...
分类:
其他好文 时间:
2014-10-02 21:37:03
阅读次数:
197
39.(树、图、算法)(2).求一个有向连通图的割点,割点的定义是,如果除去此节点和与其相关的边,有向图不再连通,描述算法。思路:这里有个问题,对于图的连通性,我默认它要求强连通。采用了最简单的办法,即每次删掉一条边,判断图还是否连通。若变得不连通了就认为此点是割点。连通性的判断也采用了直觉上简单的...
分类:
其他好文 时间:
2014-09-25 10:47:48
阅读次数:
411
时间复杂度: O(n)
看见复杂度:O(n)
题意解析:
就是把所有被“x”包围的“o”替换成 x。所谓 “包围” 是指 上下左右 四个方向,不包括斜上,斜下。。。
算法思路:
没有被“x” 围住: 就是 那一组联通的“o“ 连接到边界了,只要把连接到边界的 ”o“ 替换成*,其他的o就替换成x,最后再把*还原成O
在把连接到边界的O替换成* 用的是bfs,具体代码如下,t...
分类:
其他好文 时间:
2014-09-22 18:21:53
阅读次数:
177
这段时间对STL比较痴迷,遂做了些许研究,今天把原来写过的快速排序算法用模板函数重新写了一下,把代码贴出来分享一下
有两个版本,版本二可以传入比较器,自己定义排序规则
快速排序算法思路:
1)从序列中选出一个元素作为基准;
2)重排序列,所有比基准小的元素位于基准左侧,比基准大的元素位于基准右侧,和基准相等的元素位于任意一侧,此过程称为分组;
3)以递归的方式对小于基...
分类:
其他好文 时间:
2014-09-18 23:51:04
阅读次数:
258
定义:设有主串S和子串t,子串的定位就是要在主串S中找到一个与子串t相等的子串。通常把主串S称作目标串,子串t称作模式串,因此定位也称作模式匹配。
常用两种算法:
1brute-force算法
思路:主串标记指针每次移动一个位置,然后和子串比较,如何相等则返回当前主串指针的位置。
模式匹配过程如图:
图略
上面算法的缺点:主串指针回溯,当与模式串部分匹配后,每次主...
分类:
其他好文 时间:
2014-09-11 12:33:21
阅读次数:
120
关于求重复数,我们先来看看两道常见的题
1、有101个数,为[1,100]之间的数,其中一个数是重复的,如何寻找这个重复的数,其时间复杂度和空间复杂度是多少?
2、1-N(N最大32000,且未知),内存只有4K,找出其中的重复数...
分类:
其他好文 时间:
2014-09-11 01:11:41
阅读次数:
252
给定一个BST的根节点, 试判断此BST是否为符合规则的BST?规则: 对于一个BST的节点,它左侧的所有节点(包括子节点)必须小于它本身;它右侧的所有节点(包括子节点)必须大于它本身;它的左右节点也必须满足上面两条.算法思路: 对于给定的根节点N, 先找到它左子节点L的最底层的右子节点MR, 比较...
分类:
其他好文 时间:
2014-09-09 16:00:18
阅读次数:
216
思路: 逐步查找。当出现不同时,如何回溯是关键。
Solution B 与经典 KMP 算法:
next[0] = 0; (0 位置不能匹配,下次还从此位置开始匹配)
next[pos] = (P[next[pos-1]] == P[pos] ? next[pos-1]+1 : 0);
分类:
其他好文 时间:
2014-09-09 15:04:38
阅读次数:
160