首页 > 其他分享 >习题纠错03

习题纠错03

时间:2023-08-31 21:12:10浏览次数:54  
标签:11 03 MAX 元素 入队 序列 习题 纠错 节点

表达式"X=A+B(C-D)/E"的后缀表示形式可以是()//答案是C
A XAB+CDE/-
=
B XA+BC-DE/=
C XABCD-
E/+=
D XABCDE+/=
//从左到右边遍历这个中缀表达式
//X添加到后缀表达式,=入栈,A添加到后缀表达式中
//+进入栈,B进入后缀表达式,
和(入栈,C进入后缀表达式中
//-进入栈,D进入后缀表达式,遇到),-和(出栈,因为/和优先级一样
//所以,
出栈,/入栈,E进入表达式,最后将栈中所有操作符依次出栈,
//到后缀表达式中

对于序列( 12 , 13 , 11 , 18 , 60 , 15 , 7 , 19 , 25 , 100 ),
用筛选法建堆,必须从值为 ________ 的数据开始建初始堆//答案是C
A
100
B
12
C
60
D
15//这里需要注意的是有n个元素的序列,若使用筛选法建堆,则从位置为n/2取下整的元素开始建堆
//从第一个有子节点的点开始 即n/2个 如果是0开始的数组下标,n/2-1

已知输入序列为abcd经过输出受限的双向队列后能得到的输出序列有()//答案是BD
A
dacb
B
cadb
C
dbca
D
bdac
E
以上答案都不对//这里需要注意的是,什么叫做经过输出受限的双向队列
//所谓的输出受限的双向队列就是指,入队的话,可以从队尾和队头入队
//出队的话就只能从一个口出,根据输入序列abcd可以知道,当a和b完成
//入队的操作的时候,可能的结果为ab或者ba,c只可能是在这两者的两边
//所以,在出队的时候,c是不可能在a和b之间的,所以A和C错误

有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,
当执行如下访问页号序列后1,2,3,4,5, 1,2,5,1,2,3,4,5,会发生多少缺页?//答案是D
A 7
B 8
C 9
D 10
// 访问序列 1 2 3 4 5 1 2 5 1 2 3 4 5
// 物理块1 1 1 1 4 4 4 2 2 2 2 2 2 5
// 物理块2 2 2 2 5 5 5 5 5 5 3 3 3
// 物理块3 3 3 3 1 1 1 1 1 1 4 4
// 是否缺页 ~ ~ ~~~ ~~ ~~~
//~的总个数是10个,所以缺页为10

大小为MAX的循环队列中,f为当前对头元素位置,r为当前队尾元素位置(最后一个元素的位置),则任意时刻,队列中的元素个数为//答案是B
A r-f
B (r-f+MAX+1)%MAX
C r-f+1
D (r-f+MAX)%MAX//这里需要注意的是
//队尾r的位置,如果队尾r是指向队尾元素的下一个位置,那么计算个数的公式是
//(r-f+MAX)%MAX,但是如果r是指向队尾元素时,那么计算公式为(r-f+MAX+1)%MAX,所以
//选择的应该是B

1
以下开源软件中经常被用作队列的是哪个?//答案是选择BD
A MongoDB
B Redis
C Memcached
D kafka
//MongoDB 是非关系型数据库,多用作评论实现等;
//Memcached:
Memcached简洁而强大;它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题;它的API兼容大部分流行的开发语言;
本质上,它是一个简洁的key-value存储系统;
//Redis:虽然也是非关系型数据库,但是有Redis Stream;
//kafka:有Kafka Stream;

递归算法一般需要利用哪种数据结构实现?//答案是D
A 数组
B 链表
C 队列
D 栈

//栈与递归的关系,函数的递归调用和普通函数调用是一样的。当程序执行到某个函数时,将这个函数进行入栈操作,
//在入栈之前,通常需要完成三件事。
//1、将所有的实参、返回地址等信息传递给被调函数保存。
// 2、为被调函数的局部变量分配存储区。
// 3、将控制转移到被调函数入口。
// 当一个函数完成之后会进行出栈操作,出栈之前同样要完成三件事。
//1、保存被调函数的计算结果。
//2、释放被调函数的数据区。
//3、依照被调函数保存的返回地址将控制转移到调用函数。
// 上述操作必须通过栈来实现,即将整个程序的运行空间安排在一个栈中。
//每当运行一个函数时,就在栈顶分配空间,函数退出后,释放这块空间。所以当前运行的函数一定在栈顶。

队列{a,b,c,d,e}依次入队,允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可能得到的 出队 序 列 是()//答案选C
A
b, a, c, d, e
B
d, b, a, c, e
C
d, b, c, a, e
D
e, c, b, a, d
//两端可入队,一端出队的问题的解题技巧:
//入队顺序为a b c d e,则出队顺序必然包含在序列e d c b a b c d e中,
//找出找出四个选项中不符合顺序条件的序列即可。

关于堆数据结构,下面描述中不恰当的一项是?//答案是D
A
用堆可以实现优先队列(priority_queue)
B
使用堆可以实现排序算法,复杂度为NlogN
C
可以用大顶堆实现快速从M个元素中查找最小的N个元素的算法
D
在大顶堆的二叉树中,第N层中的所有元素比第N+1层中的所有元素都要大
//堆只能保证父子节点之间的大小关系,而不是层与层之间的关系,保证不了
//N层的元素一定比N+1层大

下列关键字序列为堆的是()?//答案是A
A
100,60,70,50,32,65
B
60,70,65,50,32,100
C
65,100,70,32,50,60
D
70,65,100,32,50,60
E
32,50,100,70,65,60
F
50,100,70,65,60,32
//这个需要注意的是关键字序列是否为堆,首先堆是完全二叉树,分为大顶堆和小顶堆,例如:大顶堆就是根节点要大于其孩子节点,
//而且关键字序列转变为堆,就是采用层序遍历的方式还原

以下关于堆的叙述中正确的是()//答案是B
Ⅰ.在一个大根堆中,最小关键字的记录一定属于最底层的叶子结点层
Ⅱ.在一个小根堆中,从根结点到某个叶子结点所经路径上的结点构成一个递增有序序列
Ⅲ.堆一定是一棵完全二叉树
Ⅳ.由某关键字序列构造的一棵完全二叉树经过一次筛选便可以变成一个堆
A
仅Ⅰ、Ⅲ
B
仅Ⅱ、Ⅲ
C
仅Ⅱ、Ⅲ、Ⅳ
D
仅Ⅰ、Ⅱ、Ⅲ
//最主要的是I的错误点在于最小关键字一定是叶子节点,但是并不一定是最底层的叶子节点

对关键码集合K={22,11,38,68,43,6,10,48},用筛选法创建最小堆时,从关键码( )开始调整//答案是C
A 22
B 38
C 68
D 48
//这个问题的解法是,筛选法就是开始按现有的顺序从上到下,从左到右放到一个完全二叉树里面。
//进行比较把这个树调节成堆,调节的时候从最后一个有儿子的节点开始。

//按照筛选法得到的二叉树为,然后从下到上,从右往左得到的第一个有孩子节点的节点,便是从它开始
22
/
11 38
/ \ /
68 43 6 10
/
48

一组记录排序码为(5 11 7 2 3 17),则利用堆排序方法建立的初始堆为//答案是C
A
(11 5 7 2 3 17)
B
(11 5 7 2 13 3)
C
(17 11 7 2 3 5)
D
(17 11 7 5 3 2)
E
(17 7 11 3 5 2)
F
(17 7 11 3 2 5)
//解题的方法:
//初始堆就是第一次排序时建立的堆的形状,可以将题目中的给的序列按层次写成完全二叉树的形式,再移动元素形成堆。
//最后将堆再按层次遍历的方式写成序列的形式
//移动元素成堆就是,如果某个子节点比它的父节点要大,那么交换两个,直到有序为止

标签:11,03,MAX,元素,入队,序列,习题,纠错,节点
From: https://www.cnblogs.com/c-learnmore/p/17670420.html

相关文章

  • print ("标签为" + str(train_set_y[:, index]) + ", 这是一个'" + classes[np.squeez
    这行代码使用 print 函数来输出一条信息。信息的内容是由多个字符串拼接而成的,其中包括 train_set_y 数组中指定索引处的值和 classes 数组中指定索引处的值。首先,"标签为" 是一个字符串字面量。接下来,str(train_set_y[:,index]) 表示获取 train_set_y 数组中第二维索......
  • configure: error: Can't find GL/gl.h. Look for Mesa devel packages for your dist
    1.安装文件查询工具 sudoaptinstallplocate  2.查询头文件地址,shell命令:locateGL/gl.h     3.为编译时指定其他的头文件查询地址:exportCPLUS_INCLUDE_PATH=/usr/include  ======================================= ......
  • 【五期邹昱夫】CCF-A(TIFS'23)SAFELearning: Secure Aggregation in Federated Learning
    "Zhang,Zhuosheng,etal."SAFELearning:SecureAggregationinFederatedLearningwithBackdoorDetectability."IEEETransactionsonInformationForensicsandSecurity(2023)."  本文提出了一种在联邦学习场景下可以保护隐私并防御后门攻击的聚合方法。作者认......
  • node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported
    出现原因貌似是因为是因为node17版本开始发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。解决方法第一种方法降低node版本降低到17以下即可,如项目不能降低版本看后面的解决方式第二种方法设置NODE_OPTIONS环境变量......
  • 03-JavaScript
    变量:变量的声明和赋值:使用var、let或const关键字声明变量,并赋予其一个值。基本数据类型:布尔值、数字、字符串、undefined、null等基本数据类型的概念和使用。类型的转换:数据类型之间的转换,包括显式转换和隐式转换。运算符:算术运算符、比较运算符、逻辑运算符、赋值......
  • docker build过程中遇到错误qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so
    Removingintermediatecontainer70af516d5d6b--->a69229847153Step5/6:RUNGO111MODULE="on"gogetgithub.com/jsonnet-bundler/jsonnet-bundler/cmd/jb;ln-s$(goenvGOPATH)/bin/jb/usr/bin/jb--->Runningin13545862fffeqemu-x86_64:......
  • PyQt/PySide's qwindows.dll qwindowsvistastyle.dll is corrupted by UPX
    Windows1064-bitsPython3.8.1064-bitsPySide25.15.2PyInstaller4.3UPX4.1.0itraises:"ThisapplicationfailedtostartbecausenoQtplatformplugincouldbeinitialize"Solutioninspecfiles,addupx_exclude=['qwindows.dll'......
  • 医学案例|Cochran's Q检验
    一、案例介绍当前有一名医生拟评价药物A对50名高血压患者的降压效果。在患者服用药物A后的第3天、第5天和第7天时分别进行记录。该医生想知道服用药物A的高血压患者血压是否一直在好转。血压好转赋值为1,血压没变化赋值为0,。部分数据如下:二、问题分析比较三组或多组二分类变量......
  • [React Typescript] Fixing forwardRef's Type
    FixforwardRefgloballyTojumpaheadtothesolution,uncommentingthefollowingcodefromStefanBaumgartnerwillgloballyoverridethevalueof forwardRef:declaremodule"react"{ functionforwardRef<T,P={}>( render:(props:P,r......
  • CF1103C
    任取一颗\(\text{DFS}\)树。如果最大深度\(\geq\frac{n}{k}\),则找到了一条路径。对于剩下的情况,我们按环去处理。钦定一个合法环中的“代表点”为\(k\)个环中只出现过一次的点。考虑让叶子作为环的代表点。我们寻找到了一些性质:由于树高\(<\frac{n}{k}\),故而树至少有\(k......