算法分析与设计 第六次理论作业

发布时间 2024-01-03 15:58:28作者: qing影

算法分析与设计 第六次理论作业

一. 单选题(共4题,50分)

  1. (单选题) 关于哈夫曼算法的正确性,以下叙述中正确的是( )。

    A.最优前缀码问题只满足贪心选择性质,不满足最优子结构性质。

    B.最优前缀码问题不满足贪心选择性质,但满足最优子结构性质。

    C.最优前缀码问题既不满足贪心选择性质,也不满足最优子结构性质。

    D.最优前缀码问题既满足贪心选择性质,也满足最优子结构性质。

    正确答案: D:最优前缀码问题既满足贪心选择性质,也满足最优子结构性质。 ;

    12.5分

  2. (单选题) 含有n个顶点的连通图的生成树含有( )条边。

    A. \(n\)

    B. \(n-1\)

    C. \(n^2\)

    D. \(n!\)

    正确答案: B:n-1;

    12.5分

  3. (单选题) 以下问题中,除了( ),其余问题都可以利用贪心算法得到全局最优解。

    A.哈夫曼编码

    B.单源最短路径

    C.活动安排问题

    D.多机调度问题

    正确答案: D:多机调度问题 ;

    12.5分

  4. (单选题) 有9个村庄,其坐标位置如下表所示:

    i 1 2 3 4 5 6 7 8 9
    x(i) 1 2 3 4 5 6 7 8 9
    Y(i) 1 2 3 4 5 6 7 8 9

    现在要盖一所邮局为这9个村庄服务,请问邮局应该盖在哪里才能使得邮局到这9个村庄的总距离和最短?( )

    A. (4.5,0)

    B.(4.5,4.5)

    C.(5,5)

    D.(5,0)

    正确答案: C:(5,5) ;

二. 填空题(共3题,37.5分)

  1. (填空题) ____算法是求解单源最短路径问题的贪心算法。

    正确答案: (1) Dijkstra

  2. (填空题) 求解最小生成树的____算法和____算法都属于贪心算法。

    正确答案: (1) Prim(2) Kruskal

  3. (填空题) ____编码是求解最优前缀码的贪心算法。

    正确答案: (1) 哈夫曼

三. 简答题(共1题,12.5分)

  1. (简答题) 【最优服务次序问题】设有n个文档需要在同一打印机上打印。假定第i个文档需要的打印时间为\(t_i\)\(1\leq i \leq n\)​。应该如何安排这n个文档的打印次序才能使每个文档的平均等待时间达到最小?(平均等待时间指的是所有n个文档等待时间的总和除以n)。

    正确答案:

    贪心策略:最短服务时间优先

    将 n 个顾客的服务时间 \(t_i\) 按照由小到大排序,n 个顾客的服务调度方案即为排序后的顺序,即可使得平均等待时间最小。