当前位置: 初中信息技术 / 综合题
  • 1. 现今信息化时代,信息的传输十分迅速,足不出户便知天下事。许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。

    为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。

    A

    P10

    P9

    P8

    P7

    P6

    P5

    P4

    P3

    P2

    P1

    11

    66

    116

    329

    438

    582

    652

    714

    756

    925

    B

    E10

    E9

    E8

    E7

    E6

    E5

    E4

    E3

    E2

    E1

    35

    116

    215

    271

    309

    428

    576

    772

    806

    950

    Python程序如下:

    A= [11,66,116,329,438,582,652,714,756,925]

    B = [35,116,215,271,①,428,576,772,806,950]

    算法一:

    myRank =

    i = 0

    j = 0

    while (i < len(A) and j < len(B)):

      if (A[i] < B[j]):

        ②

        i += 1

      else:

        myRank.append(B[j])

        j += 1

    while (i < len(A)):

      myRank.append(A[i])

      i += 1

    else:

      while (③):

        myRank.append(B[j])

        j += 1

    print(myRank)

    算法二:

    myRank = [0]*(len(A)+len(B))

    i = 0

    j = 0

    k = 0

    while (④):

      k = i+j

      if (i >= len(A)):

        myRank[k] = B[j]

        j += 1

      elif (j >= len(B)):

        myRank[k] = A[i]

        i += 1

      elif (⑤):

        myRank[k] = A[i]

        i += 1

      else:

        myRank[k] = B[j]

        j += 1

    print(myRank)

微信扫码预览、分享更方便