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

📑前言

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

🎬作者简介:大家好,我是听风与他🥇

☁️博客首页:CSDN主页听风与他

🌄每日一句:狠狠沉淀,顶峰相见

目录

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

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

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

  • (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,则遍历方式是( )。

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

答案与解析

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

8.在查找过程中参与比较的元素依次为( )、A19

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

  • (A) A28、A30、A15、A20
  • (B) A28、A14、A21、A17
  • © A28、A15、A22、A18
  • (D) A28、A18、A22、A20

答案与解析

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

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

9.设一个包含n个顶点、e条弧的简单有向图采用邻接矩阵存储结构(即矩阵元素Aij团等于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']

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

    在本题中,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),且,此时带入算法B的变量,即log4X=3,即X=64,现在要求算法B更快,即时间复杂度更小,所以X应该小于64,可取的最大值为63。第二空选择C选项。

📑文章末尾

相关推荐
嘿黑嘿呦9 小时前
数据结构-图论-最短路径
数据结构·图论
ʚ希希ɞ ྀ9 小时前
岛屿数量 -- 图论
算法·深度优先·图论
aWty_10 小时前
实分析入门(11)--Cantor三分集
学习·数学·算法·实变函数
兰令水10 小时前
leecodecode【二叉树递归+对称】【2026.6.1打卡-java版本】
算法
地平线开发者18 小时前
profiler debug 工具用法与高一致性策略
算法·自动驾驶
编程大师哥18 小时前
匿名函数 lambda + 高阶函数
java·python·算法
我叫袁小陌19 小时前
算法解题思路指南
算法
地平线开发者19 小时前
Conv+BN+Add+ReLU 融合机制简介
算法·自动驾驶
也曾看到过繁星19 小时前
数据结构---顺序表
数据结构