算法设计与分析
yisandezhuiqiu
宁静以致园
展开
-
串匹配——bf、kmp、bm算法
问题描述:给定一个文本,在该文本中查找并定位任意给定字符串:给定两个串和,在主串S中查找子串T的过程,T为模式。1、bf算法蛮力法对主串与模式串一个一个进行比较,若不匹配,则模式串从第一个字符开始,主串往后一个字符,再进行下一趟比较;若匹配,则模式串与主串字符往后进行比较。直到主串s所剩字符长度小于模式串t长度或模式串所有字符比较完毕。#include<stdio.h&...原创 2019-11-22 21:40:52 · 2111 阅读 · 0 评论 -
最近对问题——分治法
问题描述:设p1=(x1,y1),p2=(x2,y2),...,pn=(xn,yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对(二维平面)。1、蛮力法:直接用欧几里得距离计算即可#include<stdio.h>#include<math.h>#include<iostream>using namespace std;str...原创 2019-11-22 20:56:08 · 816 阅读 · 0 评论 -
n枚硬币问题(假币问题)——分治法(减治法)
1、8枚硬币问题在8枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道的是假币与真币相比较是轻还是重。可以通过一架天平来比较两组硬币:减治法将原问题一分为三,8枚硬币分别表示a,b,c,d,e,f,g,h,从8枚中取6枚在天平两端各放3枚比较,三种结果:a+b+c>d+e+fa+b+c=d+e+fa+b+c<d+e+f如下所示判定树是完整表...原创 2019-11-22 20:42:55 · 13061 阅读 · 1 评论