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

📑前言

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

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

☁️博客首页: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选项。

📑文章末尾

相关推荐
想做小南娘,发现自己是女生喵1 小时前
【无标题】
数据结构·算法
Kx_Triumphs3 小时前
HDU4348 To the moon(主席树区间修改模板)
算法·题解
旖-旎3 小时前
《LeetCode647 回文子串 || LeetCode 5 最长回文子串》
c++·算法·leetcode·动态规划·哈希算法
轻颂呀4 小时前
约瑟夫环问题
算法
凤凰院凶涛QAQ5 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
科技大视界6 小时前
投资AI项目,传统尽调不够用了——李章虎律师拆解算法、数据、算力三大雷区
人工智能·算法·数据挖掘
郝学胜-神的一滴6 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法
Irissgwe6 小时前
算法滑动窗口
数据结构·算法
怪兽学LLM6 小时前
LeetCode 105. 从前序与中序遍历序列构造二叉树:分治递归思路详解
算法·leetcode·职场和发展