首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
下列算法中,没有使用贪心策略的是:
[单选题]
下列算法中,没有使用贪心策略的是:
Prim算法
Kruskal算法
Dijkstra算法
KMP算法
查看答案及解析
添加笔记
求解答(4)
邀请回答
收藏(73)
分享
纠错
1个回答
添加回答
11
gendlee
A.Prim算法
:属于贪心策略。
最小树生成概念。G=(V, E),首先置S={1},只要S是V的真子集,就进行如下的贪心选择,选取满足条件i属于S,j属于V-S,且
matrix[i][j]是最小的边,将j加入到S中,这个过程一直持续到S=V为止,在这个过程中选择的所有边恰好构
成G的一棵最小生成树。
B.
Kruskal算法:
属于贪心策略。
不停地循环,每一次都寻找两个顶点,这两个顶点不在同一个真子集里,且边上的权值最小。
把找到的这两个顶点联合起来。
初始时,每个顶点各自属于自己的子集合,共n个子集合。
每一步操作,都会将两个子集合融合成一个,进而减少一个子集合。
结束时,所有的顶点都在同一个子集合里,这个子集合就是最小生成树。
C
.Dijkstra算法:
属于贪心策略
该算法是解单源最短路径问题的贪心算法。其基本思想是,设置顶点集合S并不断地做贪心选择来扩充这个集合。
D.
KMP算法:不属于贪心算法,而是递推策略。
KMP算法是一种改进的字符串匹配算法。为了确定在匹配不成功时,下次匹配时j的位置,引入了next[]数组,next[j]的值表示P[0...j-1]中最长后缀的长度等于相同字符序列的前缀,在匹配过程称,若发生不匹配的情况,如果next[j]>=0,则目标串的指针i不变,将模式串的指针j移动到next[j]的位置继续进行匹配;若next[j]=-1,则将i右移1位,并将j置0,继续进行比较。
编辑于 2015-10-18 15:59:17
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
贪心
C++工程师
美团
2016
Java工程师
来自:
美团2016研发工程师...
难度:
1条回答
73收藏
10947浏览
热门推荐
相关试题
下列叙述中,哪些是集成测试的入口准则()
京东
软件测试
2016
测试工程师
评论
(6)
下面使用贪心算法的是?
阿里巴巴
贪心
评论
(1)
软件测试是软件开发过程中的一个重要...
京东
2016
测试工程师
软件测试
评论
(5)
在java7中,下列哪个说法是正确的:
Java
Java工程师
JavaSE
评论
(248)
来自
美团2016研发工程师笔...
下面不属于Object类中方法的是:
美团
Java
Java工程师
C++工程师
2016
JavaSE
评论
(68)
来自
美团2016研发工程师笔...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题