更多“数据结构中Dijkstra算法是用来求解最短路径的。”相关问题
  • 第1题:

    下面哪些使用的不是贪心算法()

    A.单源最短路径中的Dijkstra算法

    B.最小生成树的Prim算法

    C.最小生成树的Kruskal算法

    D.计算每对顶点最短路径的Floyd-Warshall算法


    正确答案:D

  • 第2题:

    Dijkstra最短路径算法从源点到其余各顶点的最短路径的路径长度按递增次序依次产生。()

    此题为判断题(对,错)。


    正确答案:√

  • 第3题:

    用Dijkstra算法求解最短路问题时,顶点标号的含义是()。

    A、该顶点到起点的最短路长度

    B、该顶点到终点的最短路长度

    C、与该顶点相连的最短边长度

    D、以上说法均不对


    参考答案:A

  • 第4题:

    ●迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基于(62)策略的算法。

    (62)

    A.分治

    B.动态规划

    C.贪心

    D.回溯


    正确答案:C

  • 第5题:

    B.Floyed算法求解所有顶点对之间的最短路径:

    procedure floyed;


    正确答案:

     

    begin
    for I:=1 to n do
    for j:=1 to n do
    if a[I,j]>0 then p[I,j]:=I else p[I,j]:=0; {p[I,j]表示I到j的最短路径上j的前驱结点}
    for k:=1 to n do {枚举中间结点}
    for i:=1 to n do
    for j:=1 to n do
    if a[i,k]+a[j,k]<a[i,j] then begin
    a[i,j]:=a[i,k]+a[k,j];
    p[I,j]:=p[k,j];
    end;
    end;

  • 第6题:

    OSPF协议采用Dijkstra最短路径算法,根据链路状态进行路由选择。()

    此题为判断题(对,错)。


    正确答案:正确

  • 第7题:

    求最短路径常用的算法有()。

    A.Prim算法和Kruskal算法
    B.深度优先遍历算法和广度优先遍历算法
    C.Dijkstra算法和Floyd算法
    D.拓扑排序算法

    答案:C
    解析:
    A项是最小生成树的算法,B项是图的遍历算法,D项中的回溯法是求解递归过程的一种重要方法。

  • 第8题:

    RIP路由刷新的算法是()。

    • A、距离矢量算法
    • B、最短路径优先算法
    • C、Dijkstra算法
    • D、生成树

    正确答案:A

  • 第9题:

    用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度()的次序来得到最短路径的。


    正确答案:递增

  • 第10题:

    求解此类最短路径问题,主要有()几种算法。

    • A、Dijkstra算法
    • B、地图里程法
    • C、实地测量法
    • D、逐次逼近法
    • E、Floyd算法

    正确答案:A,D,E

  • 第11题:

    判断题
    Dijkstra算法可用于求解最短路中的所有情形。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    问答题
    请简述Dijkstra算法及其在GIS最短路径分析中的应用?

    正确答案: Dijkstra算法是按路径长度递增顺序产生各顶点的最短路径。
    算法过程:设最短距离已确定的顶点集合称为红集点,最短距离尚未确定的为蓝集点。
    1)按路径长度递增顺序产生
    各蓝顶点的最短路径;
    2)在当前蓝点集中选择一个距离最小的蓝点来扩充红点集,以保证算法按路径长度递增的顺序产生各顶点的最短路径;
    3)没扩充一个蓝点到红点集中,则剩余的蓝点的路径按照新加入的红点作为中间顶点进行修正,一旦加入新顶点使得蓝点路径长度最短,则用变短的路径代替原来的蓝点路径长度,重复以上过程;
    4)直到所需求的蓝点已扩充到红点集时,算法结束。
    应用:
    1)选择要进行计算的两个结点;
    2)对这两个结点进行联通分析,即采用宽度优先搜索方法,来快速判断这两个结点之间是否联通,也就是确定是否存在计算最短路径的必要,若联通则进行
    3)调用Dijkstra算法,计算两个结点之间的最短路径
    4)进过对计算出来的最短路径树进行优化处理后,生成最终的最短路径树,输出并推出。
    解析: 暂无解析

  • 第13题:

    求有向图G=(V,E)中每一对顶点间的最短路径,用Dijkstra算法和弗罗伊德算法,时间复杂度都是O(n3)。()

    此题为判断题(对,错)。


    正确答案:√

  • 第14题:

    迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。本质上说,该算法是一种基于()策略的算法。

    A.分治

    B.动态规划

    C.贪心

    D.回溯


    正确答案:C

  • 第15题:

    求最短路的算法是()。

    A、Dijkstra算法;

    B、破圈法;

    C、加边法;

    D、Ford-Fulkerson算法


    参考答案:A

  • 第16题:

    ● 迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基于(61)策略的算法。 A.分治 B.动态规划 C.贪心 D.回溯


    正确答案:C
    试题61分析分治法:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。动态规划法:这种算法也用到了分治思想,它的做法是将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题。贪心算法:它是一种不追求最优解,只希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找到最优解而穷尽所有可能所必须耗费的大量时间。贪心算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,所以贪心算法不要回溯。回溯算法(试探法):它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。其实现一般要用到递归和堆栈。针对单源最短路径问题,由Dijkstra提出了一种按路径长度递增的次序产生各顶点最短路径的算法。若按长度递增的次序生成从源点s到其他顶点的最短路径,则当前正在生成的最短路径上除终点以外,其余顶点的最短路径均已生成(将源点的最短路径看做是已生成的源点到其自身的长度为0的路径)。这是一种典型的贪心策略,就是每递增一次,经对所有可能的源点、目标点的路径都要计算,得出最优。带权图的最短路径问题即求两个顶点间长度最短的路径。其中:路径长度不是指路径上边数的总和,而是指路径上各边的权值总和。参考答案(61)C

  • 第17题:

    C. Dijkstra 算法:

    var

    a:array[1..maxn,1..maxn] of integer;

    b,pre:array[1..maxn] of integer; {pre[i]指最短路径上I的前驱结点}

    mark:array[1..maxn] of boolean;

    procedure dijkstra(v0:integer);


    正确答案:

     

    begin
    fillchar(mark,sizeof(mark),false);
    for i:=1 to n do begin
    d[i]:=a[v0,i];
    if d[i]<>0 then pre[i]:=v0 else pre[i]:=0;
    end;
    mark[v0]:=true;
    repeat {每循环一次加入一个离1集合最近的结点并调整其他结点的参数}
    min:=maxint; u:=0; {u记录离1集合最近的结点}
    for i:=1 to n do
    if (not mark[i]) and (d[i]<min) then begin
    u:=i; min:=d[i];
    end;
    if u<>0 then begin
    mark[u]:=true;
    for i:=1 to n do
    if (not mark[i]) and (a[u,i]+d[u]<d[i]) then begin
    d[i]:=a[u,i]+d[u];
    pre[i]:=u;
    end;
    end;
    until u=0;
    end;

  • 第18题:

    判断有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用______。

    A.求关键路径的方法

    B.求最短路径的Dijkstra方法

    C.深度优先遍历算法

    D.广度优先遍历算法


    正确答案:C
    解析:本题考查AOV的运算,要检测一个工程是否可行,首先就应检查对应的AOV网是否存在回路,检测的一种方法就是对有向图构造其顶点的拓扑有序序列,而对AOV网进行拓扑排序主要考虑顶点的入度,相应的,若在AOV网中考查各项点的出度,这种排序就称为逆排序。同时,还可以利用深度优先遍历进行拓扑排序,因为图中无环,则由图中某点出发进行深度优先遍历时,最先退出DFS函数的顶点即是出度为零的顶点,它是拓扑有序序列中最后的一个顶点。由此,按退出DFS函数的先后记录下来的顶点序列即为逆向的拓扑有序序列。

  • 第19题:

    Dijkstra算法可用于求解有负权的网络最短路问题。


    正确答案:错误

  • 第20题:

    Dijkstra算法可用于求解最短路中的所有情形。


    正确答案:错误

  • 第21题:

    判定一个有向图是否存在回路,除了可以利用拓扑排序的方法外,还可以利用()。

    • A、求关键路径的方法
    • B、求最短路径的Dijkstra方法
    • C、深度优先遍历算法
    • D、广度优先遍历算法

    正确答案:C

  • 第22题:

    填空题
    用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度()的次序来得到最短路径的。

    正确答案: 递增
    解析: 暂无解析

  • 第23题:

    判断题
    Dijkstra算法可用于求解有负权的网络最短路问题。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第24题:

    单选题
    以下几种算法中可以求解起讫点不同的单一路径规划(最短路径问题)的是(  )。
    A

    扫描法    

    B

    表上作业法    

    C

    单纯形法    

    D

    Dijkstra算法


    正确答案: A
    解析:
    起讫点不同的单一路径规划(最短路线问题)这是线路优化模型理论中最为基础的问题之一。求解此类最短路径问题,主要有以下几种算法(可参考线性规划类书籍):Dijkstra算法、逐次逼近法和Floyd算法。