1. 定义
BFS是Breath First Search的缩写,是广度优先搜索的意思,是图的遍历方式的一种。
由于BFS是从起点一层一层的进行搜索的,所以凡是需要求最短路径的问题,都可以尝试看BFS能否解决,比如Dijkstra的单源最短路径算法使用了BFS的思想。另外,在执行广度优先搜索的过程中将构造出一棵树,这也是Prim的最小生成树算法思想。在做BFS的时候,有两点需要特别注意...
分类:
其他好文 时间:
2015-05-31 09:29:05
阅读次数:
157
简单选择排序是人们最熟悉的比较方式,其算法思想为:从数组的开头开始,将第一个元素和其他元素进行比较。检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从第二个位置继续。这个过程会一直进行,当进行到数组的倒数第二个位置时,所有的数据便完成了排序。
代码如下:
{CSDN:CODE:674849}
分析可得,简单选择排序的时间复杂度为O(n2)。选择排序的...
分类:
编程语言 时间:
2015-05-28 21:39:10
阅读次数:
312
拓扑排序算法思想
1、在AOV网络中选一个没有直接前驱的顶点, 并输出之;
2、从图中删去该顶点, 同时删去所有它发出的有向边;
3、重复以上步骤, 直到
◆ 全部顶点均已输出,拓扑有序序列形成,拓扑排序完成;
◆ 或者图中还有未输出的顶点,但已跳出处理循环。这说明图中还剩下一些顶点,它们都有直接前驱,再也找不到没有前驱的顶点了。这时AOV网络中必定存在有向环。
用...
分类:
编程语言 时间:
2015-05-27 17:20:45
阅读次数:
155
这两天正好在赶算法设计的作业,这里把做的几个需要写代码的题放上来,方便以后查看。
1.题目要求
2.算法思想
这个题目基本思想是 利用回溯法,对于 m 行 n 列, 本质上就是一个二维数组, 我们可以将问题的解写成 x[1],x[2],x[3] … x[m*n], 那么对于每个点 x[i] 的取值实际上是 [1, n], 套用回溯法的算法框架,这里的 约束条件 ,就是同行,同列 没有相...
分类:
编程语言 时间:
2015-05-25 22:29:06
阅读次数:
506
一、最近邻插值算法
思想&步骤:
1.根据放大的倍数,新建一个大小为原图像大小*倍数的0矩阵
2.0矩阵的每一个像素点的值根据原图像求出,即分别把x,y除以倍数后得到的小数取整( matlab中的round函数取小数的最近整数 )
3.对于边缘的情况要注意
最邻近插值简单且直观,速度也最快,但得到的图像质量不高。
代码demo:
A=imr...
分类:
其他好文 时间:
2015-05-18 09:18:59
阅读次数:
209
问题描述:已知两个多边形Poly1和Poly2,分别由点集C1={P1,P2,...,Pm}和C2={Q1,Q2,...,Qn}表示,求这两个多边形的交集。 算法思想: 两个多边形相交后,其顶点要么是两个多边形边的交点,要么是在多边形内部的点。 算法步骤: 1.计算两个多边形每条边之间的交点。 2....
分类:
其他好文 时间:
2015-05-16 20:27:03
阅读次数:
130
问题描述:已知两幅图像Image1和Image2,计算出两幅图像的重叠区域,并在Image1和Image2标识出重叠区域。 算法思想: 若两幅图像存在重叠区域,则进行图像匹配后,会得到一张完整的全景图,因而可以转换成图像匹配问题。 图像匹配问题,可以融合两幅图像,得到全景图,但无法标识出在原图像的重...
分类:
其他好文 时间:
2015-05-16 20:26:06
阅读次数:
147
排序算法——快速排序今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。思想快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基...
分类:
编程语言 时间:
2015-05-12 15:03:00
阅读次数:
138
什么是归并排序?归并排序:建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。主要思想为:将已有序的子序列合并,得到完全有序的序列。简单来说:就是将待排序序列分为若干个最小子序列(子序列长度为1或2),先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序过程图如下:算法思想正如我们所知,最普通...
分类:
编程语言 时间:
2015-05-12 13:44:59
阅读次数:
145
题目大意:给出一个字符串,要求只考虑字符串中的字母和数字,判断该字符串是否是回文。注意:空串是回文。
算法思想:首先将字符串中的大写字母全部转化为小写字母,然后分别设置两个游标Left ,right。开始扫描字符串如果当前字符不是字母或数字则跳过,若是则比较,左右游标指向的字符是否相同,如果不想同则返回FALSE,当扫描完整个字符串的时候返回TRUE。
代码如下:
class Solutio...
分类:
其他好文 时间:
2015-05-11 12:58:19
阅读次数:
116