问题
单项选择题
迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基干()策略的算法。
A.分治
B.动态规划
C.贪心
D.回溯
答案
参考答案:C
解析:
[分析]: 本题考查算法的设计策略。
单源点最短路径问题是指给定图G和源点v0,求从v0到图G中其余各项点的最短路径。迪杰斯特拉(Dijkstra)算法是一个求解单源点最短路径的经典算法,其思想是:把图中所有的顶点分成两个集合S和T,S集合开始时只包含顶点v0,T集合开始时包含图中除了顶点v0之外的所有顶点。凡是以v0为源点,已经确定了最短路径的终点并入S集合中,顶点集合T则是尚未确定最短路径的顶点集合。按各顶点与v0间最短路径长度递增的次序,逐个把T集合中 的顶点加入到S集合中,使得从v0到S集合中各顶点的路径长度始终不大于从v0到T集合中各顶点的路径长度。该算法是以一种贪心的方式将T集合中的顶点加入到S集合中的,而且该贪心方法可以求得问题的最优解。