数据结构与算法分析——第1~2章考试题

2023-10-27

判断题

1-1

The Fibonacci number sequence {FN​} is defined as: F0​=0, F1​=1, FN​=FN−1​+FN−2​, N=2, 3, .... The time complexity of the function which calculates FN​ recursively is Θ(N!).(3分)

T        F

作者 DS课程组

单位 浙江大学

1-2

(logn)2 is O(n).(2分)

T        F

作者        陈越

单位        浙江大学

1-3

An algorithm may or may not require input, but each algorithm is expected to produce at least one result as the output.(1分)

T        F

作者        陈越

单位        浙江大学

1-4

NlogN2 and NlogN3 have the same speed of growth.(1分)

T        F

作者        陈越

单位        浙江大学

1-5

N2logN和NlogN2具有相同的增长速度。(2分)

T        F

作者        DS课程组

单位        浙江大学

1-6

2N和NN具有相同的增长速度。(2分)

T        F

作者        DS课程组

单位        浙江大学

1-7

算法分析的两个主要方面是时间复杂度和空间复杂度的分析。(1分)

T        F

作者        DS课程组

单位        浙江大学

1-8

对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。(1分)

T        F

作者        DS课程组

单位        浙江大学

1-9

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。(2分)

T        F

作者        DS课程组

单位        浙江大学

1-10

对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。(1分)

T        F

作者        徐镜春

单位        浙江大学

1-11

线性表L如果需要频繁地进行不同下标元素的插入、删除操作,此时选择顺序存储结构更好。(1分)

T        F

作者        ZXM

单位        西南石油大学

1-12

队列的特性

队列是后进先出的线性表。(1分)

T        F

作者        李祥

单位        湖北经济学院

1-13

在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。(1分)

T        F

作者        DS课程组

单位        浙江大学

1-14

将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。(2分)

T        F

作者        DS课程组

单位        浙江大学

1-15

若用链表来表示一个线性表,则表中元素的地址一定是连续的。(1分)

T        F

作者        陈越

单位        浙江大学

1-16

链表 - 存储结构

链表中逻辑上相邻的元素,其物理位置也一定相邻。(1分)

T        F

作者        李祥

单位        湖北经济学院

1-17

链表 - 存储结构

链表是一种随机存取的存储结构。(1分)

T        F

作者        李祥

单位        湖北经济学院

单选题

2-1

在数据结构中,从逻辑上可以把数据结构分成( )。(1分)

A.动态结构和静态结构

B.紧凑结构和非紧凑结构

C.线性结构和非线性结构

D.内部结构和外部结构

作者        周治国

单位        东北师范大学

2-2

与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。(1分)

A.存储结构

B.存储实现

C.逻辑结构

D.运算实现

作者        周治国

单位        东北师范大学

2-3

通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。(1分)

A.数据在同一范围内取值

B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致

C.每个数据元素都一样

D.数据元素所包含的数据项的个数要相等

作者        周治国

单位        东北师范大学

2-4

以下数据结构中,( )是非线性数据结构。(1分)

A.树

B.字符串

C.队列

D.栈

作者        周治国

单位        东北师范大学

2-5

求整数n(n>=0)的阶乘的算法如下,其时间复杂度为( )。

long fact(long n)
{
if (n<=1) return 1;
return n*fact(n-1);
}

(2分)

A.Θ(log2​n)

B.Θ(n2)

C.Θ(n)

D.Θ(nlog2​n)

作者        DS课程组

单位        临沂大学

2-6

11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是(1分)

A.菱形

B.长方形

C.平行四边形

D.椭圆型

作者        qin

单位        中国人民解放军海军工程大学

2-7

For the following function (where n>0)

int func ( int n )
{   int i = 1, sum = 0;
    while ( sum < n )  { sum += i; i *= 2; }
    return i;
}

the most accurate time complexity bound is:(1分)

A.O(logn)

B.O(n)

C.O(nlogn)

D.O(2n)

作者        陈越

单位        浙江大学

2-8

For the following function (where n>0)

int func ( int n )
{   int i = 1, sum = 0;
    while ( n > sum )  { i *= 2; sum += i; }
    return i;
}

the most accurate time complexity bound is:(1分)

A.O(2n)

B.O(n)

C.O(nlogn)

D.O(logn)

作者        陈越

单位        浙江大学

2-9

Suppose A is an array of length N with some random numbers. What is the time complexity of the following program in the worst case?

void function( int A[], int N ) {
    int i, j = 0, cnt = 0;
    for (i = 0; i < N; ++i) {
        for (; j < N && A[j] <= A[i]; ++j);
        cnt += j - i;
    }
}

(3分)

A.O(N2)

B.O(NlogN)

C.O(N)

D.O(N1.5)

作者        fengyan

单位        浙江大学

2-10

在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:(2分)

A.访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)

B.在第i个结点后插入一个新结点(1≤i≤N)

C.删除第i个结点(1≤i≤N)

D.将N个结点从小到大排序

作者        DS课程组

单位        浙江大学

2-11

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?(2分)

A.双链表

B.单循环链表

C.带头结点的双循环链表

D.顺序表

作者        DS课程组

单位        浙江大学

2-12

For a sequentially stored linear list of length N, the time complexities for query and insertion are:(1分)

A.O(1), O(1)

B.O(1), O(N)

C.O(N), O(1)

D.O(N), O(N)

作者        DS课程组

单位        浙江大学

2-13

If the most commonly used operations are to visit a random position and to insert and delete the last element in a linear list, then which of the following data structures is the most efficient?(2分)

A.doubly linked list

B.singly linked circular list

C.doubly linked circular list with a dummy head node

D.sequential list

作者        DS课程组

单位        浙江大学

2-14

顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。(2分)

A.100

B.105

C.108

D.110

作者        周治国

单位        东北师范大学

2-15

已知二维数组 A 按行优先方式存储,每个元素占用 1 个存储单元。若元素 A[0][0] 的存储地址是 100,A[3][3] 的存储地址是 220,则元素 A[5][5] 的存储地址是:(2分)

A.295

B.300

C.301

D.306

作者        考研真题

单位        浙江大学

2-16

线性表若采用链式存储结构时,要求内存中可用存储单元的地址(1分)

A.必须是连续的

B.连续或不连续都可以

C.部分地址必须是连续的

D.一定是不连续的

作者        DS课程组

单位        浙江大学

2-17

在具有N个结点的单链表中,实现下列哪个操作,其算法的时间复杂度是O(N)?(2分)

A.在地址为p的结点之后插入一个结点

B.删除开始结点

C.遍历链表和求链表的第i个结点

D.删除地址为p的结点的后继结点

作者        DS课程组

单位        浙江大学

2-18

将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构?(2分)

A.单链表

B.单循环链表

C.带尾指针的单循环链表

D.带头结点的双循环链表

作者        DS课程组

单位        浙江大学

2-19

线性表L在什么情况下适用于使用链式结构实现?(1分)

A.需不断对L进行删除插入

B.需经常修改L中的结点值

C.L中含有大量的结点

D.L中结点结构复杂

作者        DS课程组

单位        浙江大学

2-20

对于一个具有N个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为(2分)

A.O(1)

B.O(N/2)

C.O(N)

D.O(N2)

作者        DS课程组

单位        浙江大学

2-21

链表不具有的特点是:(1分)

A.插入、删除不需要移动元素

B.方便随机访问任一元素

C.不必事先估计存储空间

D.所需空间与线性长度成正比

作者        DS课程组

单位        浙江大学

2-22

h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(2分)

A.h=t; t->next=h->next;

B.t->next=h->next; h=t;

C.h=t; t->next=h;

D.t->next=h; h=t;

作者        DS课程组

单位        浙江大学

2-23

在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(2分)

A.s->next=p; p->next=s;

B.s->next=p->next; p=s;

C.s->next=p->next; p->next=s;

D.p->next=s; s->next=p;

作者        DS课程组

单位        浙江大学

2-24

带头结点的单链表h为空的判定条件是:(2分)

A.h == NULL;

B.h->next == NULL;

C.h->next == h;

D.h != NULL;

作者        DS课程组

单位        浙江大学

2-25

对于一非空的循环单链表,hp分别指向链表的头、尾结点,则有:(2分)

A.p->next == h

B.p->next == NULL

C.p == NULL

D.p == h

作者        DS课程组

单位        浙江大学

2-26

在双向循环链表结点p之后插入s的语句是:(3分)

A.p->next=s; s->prior=p; p->next->prior=s ; s->next=p->next;

B.p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;

C.s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;

D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

作者        DS课程组

单位        浙江大学

2-27

在双向链表存储结构中,删除p所指的结点,相应语句为:(3分)

A.p->prior=p->prior->prior; p->prior->next=p;

B.p->next->prior=p; p->next=p->next->next;

C.p->prior->next=p->next; p->next->prior=p->prior;

D.p->next=p->prior->prior; p->prior=p->next->next;

作者        DS课程组

单位        浙江大学

2-28

将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数是:(2分)

A.1

B.N

C.2N

D.NlogN

作者        DS课程组

单位        浙江大学

2-29

To insert s after p in a doubly linked circular list, we must do:(3分)

A.p->next=s; s->prior=p; p->next->prior=s ; s->next=p->next;

B.p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;

C.s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;

D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

作者        DS课程组

单位        浙江大学

2-30

To delete p from a doubly linked list, we must do:(3分)

A.p->prior=p->prior->prior; p->prior->next=p;

B.p->next->prior=p; p->next=p->next->next;

C.p->prior->next=p->next; p->next->prior=p->prior;

D.p->next=p->prior->prior; p->prior=p->next->next;

作者        DS课程组

单位        浙江大学

2-31

已知表头元素为c的单链表在内存中的存储状态如下表所示:

现将f存放于1014H处,并插入到单链表中,若f在逻辑上位于ae之间,则aef的“链接地址”依次是:(2分)

A.1010H1014H1004H

B.1010H1004H1014H

C.1014H1010H1004H

D.1014H1004H1010H

作者        DS课程组

单位        浙江大学

2-32

For a non-empty doubly linked circular list, with h and t pointing to its head and tail nodes, respectively, the FALSE statement is:(2分)

A.t->next == h

B.h->pre == t

C.t->pre->next == t

D.h->next == t

作者        陈越

单位        浙江大学

2-33

For a non-empty doubly linked circular list, with h and t pointing to its head and tail nodes, respectively, the TRUE statement is:(2分)

A.t->next == h

B.h->pre == NULL

C.t->next == h->next

D.h->next == t

作者        陈越

单位        浙江大学

多选题

3-1

非空线性表的结构特征

非空线性表具有哪些结构特征?(4分)

A.只有唯一的开始结点和唯一的终端结点

B.可拥有多个的开始结点和多个终端结点

C.除开始结点外,每个结点只有一个前驱结点

D.除终端结点外,每个结点只有一个后继结点

作者        李祥

单位        湖北经济学院

3-2

链表 - 时间复杂度

在包含 n 个数据元素的链表中,▁▁▁▁▁ 的时间复杂度为 O(n)。(2分)

A.访问第 i 个数据元素

B.在第 i (1≤i≤n) 个结点后插入一个新结点

C.删除第 i (1≤i≤n) 个结点

D.将 n 个元素按升序排序

作者        李祥

单位        湖北经济学院

填空题

4-1

设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句:        ;2分        ;2分

作者        高磊

单位        西南石油大学

程序填空题

5-1

下列代码的功能是返回带头结点的单链表L的逆转链表。

List Reverse( List L )
{
    Position Old_head, New_head, Temp;
    New_head = NULL;
    Old_head = L->Next;

    while ( Old_head )  {
        Temp = Old_head->Next; 
                ;(3分)  
        New_head = Old_head;  
        Old_head = Temp; 
    }
                ;(3分)
    return L;
}

作者        DS课程组

单位        浙江大学

时间限制        400 ms

内存限制        64 MB

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构与算法分析——第1~2章考试题 的相关文章

随机推荐

  • java高并发多线程架构_java架构师指南 高并发和多线程的区别

    高并发和多线程 总是被一起提起 给人感觉两者好像相等 那它们之间究竟有什么区别呢 1 多线程 多线程是java的特性 也是java架构师必须掌握的一项技术 因为现在cpu都是多核多线程的 可以同时执行多个任务 为了提高JVM的执行效率 Ja
  • 搭建Obsidian+picGo+Lsky Pro图床

    搭建Obsidian picGo Lsky Pro图床 0 前言 去年心血来潮买了个小主机 搭建了家庭服务器 安装了PVE系统 散热拉胯 性能不足目前只创建了个黑群晖系统 搭建一个图床 方便日常笔记工作 1 软件 1 1 Obsidian
  • 浅谈App的性能优化

    浅谈App的性能优化 2018 01 02 说到 Android 系统手机 大部分人的印象是用了一段时间就变得有点卡顿 有些程序在运行期间莫名其妙的出现崩溃 打开系统文件夹一看 发现多了很多文件 然后用手机管家 APP 不断地进行清理优化
  • Git第十讲 Git如何正确使用log快速查找内容/提交

    在Git中 你可以使用不同的命令来快速查找指定内容或指定提交 下面我将介绍两种常用的方法 快速查找指定内容 要快速查找包含特定内容的文件或代码行 可以使用 git grep 命令 它类似于常见的 grep 命令 但是专门用于搜索Git仓库中
  • 以太坊交易确认数如何获取

    以太坊和比特币一样 都有一个最长链的概念 因此也有一个交易确认数的概念 当一个以太坊交易所在区块被新加入区块链时 该交易的确认数为1 之后每增加一个区块 该交易的确认数加1 显然 一个以太坊交易的确认数越多 就意味着该交易在区块链中埋的越深
  • html css js实现抽奖,原生(纯)js+html+css实现移动端抽奖转盘系统

    这是我前个月使用纯javascript html写出的一个抽奖转盘系统 按理来说 我应该在当时做完这个小系统 就应该立即写bike总结才对 但是本人之前没有在网上写博客的习惯 平时总结更加习惯写在纸上 但是现在发现卸载网上可能更好 博客中有
  • 【第26篇】Swin Transformer

    文章目录 摘要 1 简介 2 相关工作 3 方法 3 1 整体架构 3 2 基于移动窗口的自注意力 3 3 架构变体 4 实验 4 1 ImageNet 1K 上的图像分类 4 2 COCO 上的物体检测 4 3 ADE20K 上的语义分割
  • 2. ZK客户端与服务端建立连接的过程(基于NIO)

    ZK客户端与服务端建立连接的过程 引例 1 启动SendThread 2 状态初始化 3 开始连接 4 处理服务端连接响应 5 流程图 在上一篇 客户端启动源码分析 文章中讲到了客户端会使用两个线程 SendThread和EventThre
  • C#知识系列:nameof 运算符

    插眼 总结 获取变量名 避免因为变量名而声明字符串 参考 官方文档 https docs microsoft com zh cn dotnet csharp language reference operators nameof 其他参考
  • Qt 信号与槽 传输自定义结构体跨线程访问程序异常退出问题

    Qt 信号与槽 传输自定义结构体跨线程访问程序异常退出问题 在使用自定义结构体的时候发现在同一个线程里面的信号发送和槽函数访问使用是正常的 当跨线程信号与槽连接访问自定义结构体时发生访问异常程序异常退出 通过尝试找到问题 解决办法如下 自定
  • 基于STM32f103c8t6的测温枪设计过程

    体温枪设计 设计流程 一 开发板和模块的介绍 1 STM32F103C8T6开发板 2 MLX90614测温模块 3 TM1650红外数码管 二 硬件连接 1 STM32F103C8T6引脚图 2 MLX90614测温模块连接原理图 3 T
  • 实训报告:C&C++ 结构实训 - 深入学习与实践

    实训报告 C C 结构实训 深入学习与实践 引言 C和C 是广泛应用于软件开发领域的编程语言 它们为开发人员提供了强大的工具和灵活性 本篇文章将围绕 C C 结构实训展开 深入学习并实践其中的关键概念与技术 一 简介 C C 结构实训是一项
  • Spark内存管理

    概述 spark从1 6 0开始内存管理发生了变化 原来的内存管理由StaticMemoryManager实现 现在被称为Legacy 在1 5 x和1 6 0中运行相同代码的行为是不同的 为了兼容Legacy 可以通过spark memo
  • python综合案例

    综合案例 1 需求分析 2048游戏是一款数字益智游戏 如图所示 具体游戏规则如下 玩家每次可以选择上下左右其中一个方向移动 每移动一次 所有数字方块都会往移动的方向靠拢 相同数字方块在靠拢时会相加 每次移动完成后 系统会在空白的方块中随机
  • QSS的使用

    QSS官方文档 https doc qt io qt 5 stylesheet reference html 图标制作例子 normal hover press disable 图标制作 按钮设计指南 按钮多态的几种方法 一 程序应用qss
  • 微信小游戏入门案例——拼图游戏

    微信小游戏入门案例 拼图游戏 涉及内容 canvas组件 小程序界面绘图API 目录结构 pages game game js pages game game js 方块的初始位置 var num 00 01 02 10 11 12 20
  • Python 元组tuple详解(超详细)

    文章目录 Python内置函数 方法详解 元组tuple 1 创建元组 1 1 使用 创建元组 1 2 使用 tuple 函数 创建元组 1 3 元组 单个元素 1 4 元组 VS 列表 2 访问元组 2 1 下标索引访问 2 2 切片访问
  • qt 修改设计师界面ui不生效

    情况描述 我是之前用的vs编译器 编译的文件在代码界面 不喜欢这种方式 想要生成的文件都在一个界面 然后我又换回了MinGW编译器 然后在设计师界面修改了ui 重新编译一直不生效 网上常用两种方法 1 在设置中取消shadow 就会重新编译
  • Linux学习笔记 - Linux的文件目录与属性

    Linux的文件目录与属性 使用者与群组 这里面涉及三个概念 分别为user group other 先讲group 即组的概念 可以理解为一个项目的开发 一个组里面有若干个组员 每个组员负责一个模块的功能开发 大家都能够访问公共部分的代码
  • 数据结构与算法分析——第1~2章考试题

    判断题 1 1 The Fibonacci number sequence FN is defined as F0 0 F1 1 FN FN 1 FN 2 N 2 3 The time complexity of the function