【数据结构与算法】概论

2023-09-20 20:20:44
  1. (多选题, 3分)设n为算法中的问题规模,通常用()渐进符号表示算法的执行时间与n之间的一种增长关系。
    A. Ο
    B. Θ
    C. Ω
    D. Σ
    E. Φ
    正确答案: ABC
  • 解析:
    Ο是渐进上界,Ω是渐进下界。Θ需同时满足大Ο和Ω,故称为确界(必须同时符合上界和下界)。Ο极其有用,因为它表示了最差性能。
    Θ,读音:西塔;既是上界也是下界(tight),等于的意思。
    Ο,读音:大偶;表示上界(tightness unknown),小于等于的意思。
    ο,读音:小欧;表示上界(not tight),小于的意思。
    Ω,读音:欧米伽(大写);表示下界(tightness unknown),大于等于的意思。
    ω,读音:欧米伽(小写);表示下界(not tight),大于的意思。
  1. (多选题, 3分)对算法与数据结构关系的描述,正确包括()。
    A. 数据结构是算法设计的基础。
    B. 一种数据结构只支持一种算法设计。
    C. 算法是编程思想,数据结构则是这些思想的逻辑基础
    D. 算法设计就是在选定的存储结构上设计一个满足要求的好算法。
    正确答案: ACD
    解析:
    (1)数据结构只是静态的描述了数据元素之间的关系;
    (2)高效的程序需要在数据结构的基础上设计和选择算法。
    (3)程序 = 数据结构 + 算法
  2. (多选题, 3分)算法操作的对象是数据,数据间的()就是数据的数据结构。
    A. 逻辑关系
    B. 存储方式
    C. 处理方式
    D. 控制关系
    正确答案: ABC:逻辑关系; 存储方式; 处理方式;
  3. (多选题, 3分)算法设计应满足以的目标包括()。
    A. 输入输出性
    B. 正确性
    C. 可使用性
    D. 可行性
    E. 健壮性
    正确答案: BCE
    解析:算法设计应满足以下几个目标
    (1)正确性:要求算法能够正确地执行预先规定的功能和性能要求。这是最重要也是最基本的标准。
    (2)可使用性:要求算法能够很方便地使用。这个特性也叫用户友好性。
    (3)可读性:算法应该易于使人理解,也就是可读性好。为了达到这个要求,算法的逻辑必须是清晰的、简单的和结构化的。
    (4)健壮性:要求算法具有很好的容错性,即提供异常处理,能够对不合理的数据进行检查,不经常岀现异常中断或死机现象。
    (5)高效率与低存储量需求:通常算法的效率主要指算法的执行时间。对于同一个问 题,如果有多种算法可以求解,执行时间短的算法效率高。算法存储量指的是算法执行过程 中所需的最大存储空间。效率和存储量都与问题的规模有关。

一个算法必须满足5大特性
1、有穷性:一个算法必须执行有穷步后结束、
2、确定性:对于每种情况下所应执行的操作,在算法中都应该有确切的规定,不会产生二义性,使得算法的执行者和阅读者都能明确其含义以及如何执行。
3、可行性:算法中的所有操作都可以通过已经实现的基本操作运算执行有限次来实现
4、输入:一个算法应该有0个、一个或多个输入。
5、输出:一个算法应该有一个或多个输出

  1. (单选题, 2分)一切合法的输入数据都能得出满足要求的结果,包括典型的、苛刻的输入数据也能够得出满足要求的结果。这个含义对应算法的()。
    A. 可靠性
    B. 正确性
    C. 有效性
    D. 可用性
    正确答案: B
    解析:
    正确性:对合法的输入有满足要求的结果
    健壮性:对非法的输入有适当的处理
  2. (单选题, 2分)算法要对异常情况进行适当的处理,就是算法的()。
    A. 正确性
    B. 可用性
    C. 健壮性
    D. 可行性
    正确答案: C
  3. (判断题, 1分)如果一个算法对其每一个输入实例,都能输出正确的结果并停止,则称它是可靠的。
    A. 对
    B. 错
    正确答案: 错
    解析:
    正确性:合法的输入的处理
  4. (判断题, 1分)算法是把人类找到的求解问题的方法,用算法要素过程化、形式化、机械化地表示出来。
    A. 对
    B. 错
    正确答案: 对
  5. (判断题, 1分)算法分析是分析算法占用计算机资源的情况,即分析算法的时间复杂度。
    A. 对
    B. 错
    正确答案: 错
    解析:时间复杂度和空间复杂度。
  6. (判断题, 1分)一个算法的时间用Ω符号表示时,总是采用最有价值的g(n)表示,称之为“紧凑下界”或“紧确下界”。
    A. 对
    B. 错

10.下列哪个函数是O(N)的? (2分)
选项
A (logN)2
B (NlogN)/1000
C N(logN)2
D N2​​/1000
解析:(logN)2 < N < (NlogN)/1000 < N(logN)2 < N2​​/1000。
11.下列函数中,哪个函数具有最快的增长速度? (2分)
选项
A N2​​ logN
B N(logN)4
C N3
D NlogN2
解析:NlogN2 < N2​​logN < N(logN)4 < N3。
13.下列函数中,哪个函数具有最慢的增长速度:(2分)
选项
A N1.5
B NlogN2
C N2​​ logN
D N(logN)2
解析:NlogN2 < N1.5 < N(logN)2 < N2​​logN。

更多推荐

考研英语笔记:好难

文/谷雨不用再去深圳出差了,在公司混日子,备考时间增加了许多。除去数学和专业课,我现在花费在英语上的时间不算多,每天研究一篇经济学人的精读,然后做些习题。今天我看的是8.26期经济学人的一篇文章《AIcouldfortifybigbusiness,notupendit》。fortify本意是筑防御工事以防卫;(尤指)筑

极光笔记 | 极光服务的信创改造实践

什么是信创?信创全称为“信息技术应用创新”,主要包含应用于通信、云计算、大数据、人工智能、工业互联网等诸多高新产业的基础技术。基础技术则包含基础硬件、基础软件、应用软件、信息安全四大板块。其中:基础硬件主要包括:芯片、服务器/PC、存储等;基础软件包括:数据库、操作系统、中间件等;应用软件包括:办公软件、ERP和其它软

python 全网最优雅命令行参数解析, 没有之一

背景我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能。那么如何获取命令行传入进来的参数呢?一般方法一般情况下,我们会使用sys模块,如👇importsys#打印sys模块获取到的命令行参数print(sys.argv)或者,我们会使用getopt模块,如👇im

金融和大模型的“两层皮”问题

几年前,我采访一位产业专家,他提到了一个高科技到产业落地的主要困惑:两层皮。一些特别牛的技术成果在论文上发表了,这是一层皮。企业的技术人员,将这些成果产品化、商品化的时候,可能出于工程化的原因,会做一些简化,这是另一层皮。两层皮之间,是有gap的,就像卖家秀和买家秀一样,并不是融合且一致的。而往往是那些有技术人才、研发

C2基础设施威胁情报对抗策略

威胁情报是指在信息安全和安全防御领域,收集、分析和解释与潜在威胁相关的信息,以便预先发现并评估可能对组织资产造成损害的潜在威胁,是一种多维度、综合性的方法,其通过信息的收集、分析和研判,帮助组织了解可能对其安全构成威胁的因素。这种方法不仅仅着重于技术层面,还包括了社会、心理、政治等多个维度,以此更好地应对不断变化和复杂

基于SSM的旅游网站系统

基于SSM的旅游网站系统【附源码文档】、前后端分离开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven【主要功能】角色:管理员、用户管理员:用户管理、景点信息管理、购票信息管理、酒店信息管理、客房类型管理、客房信息管

终端数据防泄漏

需求背景随着各行各业业务数据信息化发展,各类产品研发及设计等行业,都有关乎自身发展的核心数据,包括业务数据、代码数据、机密文档、用户数据等敏感信息,这些信息数据有以下共性:属于核心机密资料,万一泄密会对企业造成恶劣影响,包括市场占有率下降、丧失核心竞争力、损失客户信心等各种显性与隐性影响;核心数据类型多,还有业务系统数

Java基于SpringBoot的高校招生管理系统,附源码,教程

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌文章目录简介系统设计思路1数据库设计2系统整体设计2.1系统设计思想2.2系统流程图系统详细设计1系统功能模块2.管理员功能模块3学生功能模块六源码咨询

钉钉旧版服务端SDK支持异步方法的升级改造

最近项目中需要对接钉钉,有些钉钉API的访问需要使用旧版服务端SDK才能搞定,但是这个SDK使用的还是.NETFramework2.0框架,不能跨平台部署,也不支持async\await的异步操作方法,Nuget上也有其它用户改造的.NETCore版本,但是都不支持异步方法,于是就想自己改造一下,经过若干小时的改造,最

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬!在controlNet之前,基于扩散模型的绘画是极为难控制的,平时自嗨画画其实没有一点问题,随机就随机一点,但

Java 中的四种引用方式

文章目录Java中的四种引用方式1、强引用(StrongReference)(1)弱化方式1(2)弱化方式22、软引用(SoftReference)3、弱引用(WeakReference)4、虚引用(PhantomReference)Java中的四种引用方式1、强引用(StrongReference)强引用是最普遍的引

热文推荐