【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题

在上一篇文章中我们学习了数据结构的概念、算法复杂度的概念及其相关计算,这篇文章侧重考研408、企业面试数据结构的导论、算法复杂度等练习。

在这里插入图片描述

判断题

1.时间复杂度是根据算法写成的程序在执行时耗费时间的长度,往往与输入数据的规模有关。(对)

2.斐波那契数列FN的定义为:F0=0, F1=1, F(N)=F(N−1)+F(N−2), N=2, 3, …。用递归函数计算FN的空间复杂度是O(N)。(对)

3.斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用循环函数计算FN的时间复杂度是Θ(FN).(错)
解析:在循环函数中,我们通过迭代的方式依次计算每个斐波那契数列的数值,只需要进行 N-1 次迭代即可。故O(N)

4.(NlogN)/1000是O(N)的。(错)
解析:(NlogN)/1000仍然是O(NlogN)级别的,而不是O(N)。因为在计算复杂度时,常数因子和低阶项都可以忽略不计,只考虑最高次项的系数,即1000可忽略。

5.抽象数据类型中,描述数据类型的方法与实现操作的算法和编程语言无关。(对)

6.解决问题的效率,跟数据的组织方式无关。(错)
解析:选择合适的数据结构可以显著提高算法的效率。例如,在查找操作中,使用哈希表可以实现常数时间的查找效率,而使用线性表则需要线性时间。

7.对应同一个数据结构,可以有不同的实现方法。(对)
解析:链表是一种常见的数据结构,它可以用指针来实现,也可以用数组来实现。

8.算法可以没有输入,但是必须有输出。(对)

9.递归程序往往简洁易懂,但占用较大空间。递归层数过大会造成系统堆栈溢出。(对)

10.N^2*logNN*logN^2具有相同的增长速度。(错)
解析:N*logN^2相当于2N*longN,显然比N^2*logN小。

11.数据类型由数据对象集和数据集合相关联的操作集组成。(对)
解析:比如说数据类型中的整数类型(int),在操作集合方面,int支持的基本算术运算有加、减、乘、除等。

12.抽象数据类型中,描述数据类型的方法与数据存储的物理结构有关。(错)
解析:方法关注的是数据对象的逻辑结构和行为,而数据存储的物理结构则决定了如何在计算机内存中存储和表示这些数据对象。

13.抽象数据类型中,描述数据类型的方法与存放数据的机器有关。(错)
解析:方法关注的是数据对象的逻辑结构和行为,而数据存储的物理结构则决定了如何在计算机内存中存储和表示这些数据对象。

14.算法的优劣与算法描述语言无关,但与所用计算机有关。 (错)
解析:优秀的算法应当在不同计算机环境下都能够展现出高效的特性。

15.空间复杂度是根据算法写成的程序在执行时占用存储单元的长度,往往与输入数据的规模有关。(对)

16.斐波那契数列的递归实现与循环实现的时间复杂度均为O(n)(对)

17.描述抽象数据类型的方法与实现操作的算法无关,与数据存储的物理结构无关(对)

18.for(i=1;i<n;i*=2)
for(j=0;j<i;j++)
a++;
时间复杂度为O(N) (对)

19.与数据元素的形式、内容、相对位置无关的是数据的逻辑结构(对)

20.数据的存储结构包括数据的表示及数据元素的表示(对)

21.链表是链式存储结构,数组是随机存取的存储结构(对,因为访问一个节点不需要遍历之前的节点)

22.栈的栈顶是表首(对)

23.只带头指针的非循环双链表不适合作链队,因为查找队尾指针需要O(n)(对)

24.数据元素可由若干个数据项(data item)组成,数据项是数据的不可分割的具有独立含义的最小标识单位。(对)

25.线性结构的基本特征是:每个元素有且仅有一个直接前驱和一个直接后继。 【解答】错。
每个元素最多只有一个直接前驱和一个直接后继

26.数据结构研究的内容包括数据的逻辑结构、存储结构和数据的运算。(对)

选择题

1.给定程序时间复杂度的递推公式:T(1)=1,T(N)=2T(N/2)+N。则对该程序时间复杂度最接近的描述是:(选D)
A.O(N^2) B.O(N) C.O(logN) D.O(N*logN)
解析:根据递推公式T(N) = 2T(N/2) + N,可以使用主定理(Master Theorem)来求解时间复杂度。递推公式的形式符合主定理的第二种情况:T(N) = aT(N/b) + f(N),其中a=2,b=2,f(N)=N。
根据主定理,时间复杂度可以表示为:

  • 若f(N) = O(N^c) 其中c < log_b(a),则 T(N) = O(N^log_b(a))
  • 若f(N) = Θ(N^c * log^k(N)) 其中c = log_b(a),则 T(N) = O(N^c * log^(k+1)(N))
  • 若f(N) = Ω(N^c) 其中c > log_b(a),且对某个ε > 0,有af(N/b) ≤ εf(N),则 T(N) = Θ(f(N))

在这个递推公式中,a=2,b=2,f(N)=N,因此c=1,log_b(a)=log_2(2)=1,c=log_b(a)。
所以根据主定理,时间复杂度最接近的描述是 D.O(N*logN)。

另一种方法是将T(N/2)替代为含有T(N/4)的式子,

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我无法提供图解入门半导体制造工艺基础精讲的回答,因为引用的资料中没有包含这方面的内容。引用提供了一些与半导体制造相关的资料,如半导体研磨技术、半导体封装制程等,但没有具体涉及制造工艺基础的图解入门内容。引用提到了一个TCAD软件,它是用于半导体工艺和器件仿真的软件,但并没有提供具体的图解入门教程。因此,我建议您在其他资源中寻找关于图解入门半导体制造工艺基础的资料。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [芯片制造技术-半导体研磨类技术资料合集.zip](https://download.csdn.net/download/guoruibin123/20283972)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [半导体领域知识 - 初级入门](https://blog.csdn.net/qq_24672309/article/details/116024916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [半导体器件制造封装材料和生产工艺流程(图文介绍)](https://blog.csdn.net/SZZAKC/article/details/120227593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏,祝你平安喜乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值