软件设计师——数据结构(二)

前言

本文主要是【数据结构】——软件设计师——数据结构的文章,如果有什么需要改进的地方还请大佬指出⛺️

作者简介:大家好,我是听风与他
☁️博客首页:CSDN主页听风与他
每日一句:狠狠沉淀,顶峰相见

目录

    • 前言
    • 6.则k与i、j的对应关系是( )。
    • 7.则遍历方式是( )。
    • 8.在查找过程中参与比较的元素依次为( )、A[19]。
    • 9.则该矩阵结构非零元素数目为( )。
    • 10.则该算法的时间复杂度为( )
    • 文章末尾

6.则k与i、j的对应关系是( )。

6.设某n阶三对角矩阵Anxn的示意图如下图所示。若将该三对角矩阵的非零元素按行存储在一维数组B[k](1≤k≤3*n-2)中,则k与i、j的对应关系是( )。

软件设计师——数据结构(二)_第1张图片

  • (A) k=2i+j-2
  • (B) k=2i-j+2
  • © k=3i+j-1
  • (D) K=3i-j+2

答案与解析

  • 试题难度:容易
  • 知识点:数据结构与算法基础>数组与矩阵
  • 试题答案:[[‘A’]]
  • 试题解析:该题最简单的解题思路是代入法。当i=1,j=1时,k=1。
    选项A:k=2i+j-2=2+1-2=1;
    选项B:k=2i-j+2=2-1+2=3;
    选项C:k=3i+j-1=3+1-1=3;
    选项D:k=3i-j+2=3+1+2=4。
    此时可以除排B,C,D,直接选A。若用一个例子,不能排除所有错误选项,则而举一个例子来进行代入,排除更多错误选项。

7.则遍历方式是( )。

7.对于非空的二叉树,设D代表根结点,L代表根结点的左子树R代表根结点的右子树。若对下图所示的二叉树进行遍历后的结点序列为7 6 5 4 3 2 1,则遍历方式是( )。

软件设计师——数据结构(二)_第2张图片

  • (A) LRD
  • (B) DRL
  • © RLD
  • (D) RDL

答案与解析

  • 试题难度:容易
  • 知识点:数据结构与算法基础>二叉树的遍历
  • 试题答案:[[‘D’]]
  • 试题解析:该题突破了常规的遍历树的方式,采用了新的遍历方式。但是做题进行判断时还是比较容易的,因为先根(包括根左右与根右左)的遍历,则根结点3会是第1个访问的结点;后根(左右根与根右左)的遍历,则根结点3会是最后1个访问的结点。给出的序列中3既不在第1个位置,也不在最后1个位置,所以先根后根都可排除,而A、B、C三个选项中,A与C是后根,B选项是先根,都可排除,只能选D。D是右根左的访问方式,与结点序列完全吻合。

8.在查找过程中参与比较的元素依次为( )、A[19]。

8.在55个互异元素构成的有序表A[1…55]中进行折半查找(或二分查找,向下取整)。若需要找的元素等于A[19],则在查找过程中参与比较的元素依次为( )、A[19]。

  • (A) A[28]、A[30]、A[15]、A[20]
  • (B) A[28]、A[14]、A[21]、A[17]
  • © A[28]、A[15]、A[22]、A[18]
  • (D) A[28]、A[18]、A[22]、A[20]

答案与解析

  • 试题难度:容易
  • 知识点:数据结构与算法基础>二分查找
  • 试题答案:[[B]]
  • 试题解析:折半查找时,下标计算过程为(注:key的值与A[19]相同):
    1、mid=[(1+55)/2]=28,把A[28]与key的值比较后,缩小查找范围为:A[1]至A[27];
    2、mid=[(1+27)/2]=14,把A[14]与key的值比较后,缩小查找范围为:A[15]至A[27];
    3、mid=[(15+27)/2]=21,把A[21]与key的值比较后,缩小查找范围为:A[15]至A[20];
    4、mid=[(15+20)/2]=17,把A[17]与key的值比较后,缩小查找范围为:A[18]至A[20];
    5、mid=[(18+20)/2]=19,把A[19]与key的值比较后,发现值相等,找到目标。

9.则该矩阵结构非零元素数目为( )。

9.设一个包含n个顶点、e条弧的简单有向图采用邻接矩阵存储结构(即矩阵元素A[i][j]团等于1或0,分别表示顶点i与顶点j之间有弧或无弧),则该矩阵结构非零元素数目为( )。

  • (A) e
  • (B) 2e
  • © n-e
  • (D) n+e

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>图的定义及存储
  • 试题答案:[[‘A’]]
  • 试题解析:用邻接矩阵存储有向图,图中每一条弧对应矩阵一个非零元素,题目中提到一共有e条弧,所以一共e个非零元素。

10.则该算法的时间复杂度为( )

10.已知算法A的运行时间函数为T(n)=8T(n/2)+n2,其中n表示问题的规模,则该算法的时间复杂度为( )。另已知算法B的运行时间函数为T(n)=XT(n/4)+n2,其中n表示问题的规模。对充分大的n,若要算法B比算法A快,则X的最大值为( )。

  • (A) Θ(n)

  • (B) Θ(nlgn)

  • © Θ(n2)

  • (D) Θ(n3)

  • (A) 15

  • (B) 17

  • © 63

  • (D) 65

答案与解析

  • 试题难度:一般

  • 知识点:数据结构与算法基础>时间复杂度与空间复杂度

  • 试题答案:[[‘D’],[‘C’]]

  • 试题解析:本题需要用到特定形式的递归式分析法:

    软件设计师——数据结构(二)_第3张图片

    在本题中,a=8,b=2,故符合(1)的情况。

    时间复杂度为:Θ(n 3 )。第一空选择D选项。

    对于算法B的运行时间函数为T(n)=XT(n/4)+n2,同样带入分析,a=X,b=4,f(n)=n2。若要算法B与算法A一样快,即时间复杂度一致,则满足条件(1),且img,此时带入算法B的变量,即log4X=3,即X=64,现在要求算法B更快,即时间复杂度更小,所以X应该小于64,可取的最大值为63。第二空选择C选项。

文章末尾

软件设计师——数据结构(二)_第4张图片

你可能感兴趣的:(数据结构,算法,软件设计师)