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

习题纠错06

时间:2023-09-04 21:12:19浏览次数:52  
标签:11 06 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,06,MAX,元素,入队,序列,习题,纠错,节点
From: https://www.cnblogs.com/c-learnmore/p/17678092.html

相关文章

  • java基础-数组-day06
    1.引入数组录入10个学生的成绩求和求平均importjava.util.Scanner;publicclassTestArray01{publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intsum=0; for(inti=1;i<=10;i++){ System.out.println("请输入第"+i+"......
  • OGG-06498 trail文件满问题
    OGG12.1及以前的版本巡检时发现ogg传输进程异常报错如下:2021-12-0916:25:19ERROROGG-06498Thesequencenumber998999foroutputtrailfile‘/data/ggs/dirdat/tp’hasexceededthemaximumthreshold(998999).PleaseconsultOracleKnowledgeManagementDocID1559......
  • 自留_CPP面向对象习题
    Question第一部分C++面向对象练习题1定义盒子类Box,包括三个private类型数据成员x,y,z,分别代表其长、宽、高。类中包括有参构造函数,计算体积的private类型成员函数volume和public类型显示函数display。在主函数中,定义对象box1(10,20,30),调用相关函数显示该盒子对象的长、宽、高......
  • 3、运算精度的选择(P106)
    1、fp16和fp32有什么区别?FP32(单精度浮点数)和FP16(半精度浮点数)是两种不同的浮点数表示方式,它们在精度和存储空间上有显著的区别。下面是它们的主要区别以及一个示例来说明这些区别:精度:FP32:单精度浮点数使用32位来表示一个数,其中包括1位符号位、8位指数位和23位尾数位。它具有......
  • 陈恕行《现代偏微分方程导论》第一章习题参考答案
    可能有错误,如果发现请在评论区指出.第一节1.证明\(C_c^\infty({\mathbb{R}}^n)\)在\(L^p({\mathbb{R}}^n)\)和\(C^0(\mathbb{R}^n)\)中稠密.证明.先证明\(L^p\)的情形,设\(u\inL^p\).对任何\(\varepsilon>0\),取\(R\)充分大,使得\(\|u\|_{L^p(B_R(0)^c)}<\va......
  • 剑指 Offer 06. 从尾到头打印链表
    剑指Offer06.从尾到头打印链表方法一顺序添加,再翻转。classSolution{publicint[]reversePrint(ListNodehead){ListNodeh=head;List<Integer>res=newArrayList<>();while(h!=null){res.add(h.val);h=......
  • day06
    预处理指令:  #define  常见笔试面试题:  1、简述#define与typedef的区别:    如果是普通类型,它们在功能上无任何区别,但本质不同,一个是代码替换,一个是类型重定义    #defineINTPint*      INTPp1,p2,p3; //p1是指针p2p3是int......
  • MIT 18.06 线性代数 - 22. 对角化和矩阵的幂
    关于斐波那契数列计算第n个数,使用矩阵特征向量和特征值求解:Fibonacci数列的定义是:\(F(0)=0\),\(F(1)=1\)并且对于\(n>1\),\(F(n)=F(n-1)+F(n-2)\)。我们可以使用线性代数中的特征向量和特征值来求解Fibonacci数列。首先,我们可以将Fibonacci数列写为一个线性系统的形式:\[\b......
  • 习题纠错05
    以下哪些算法是可以用来求最小生成树()//答案是ADAkruskal算法Bdijkstra算法Cfloyd算法Dprim算法//1.Prim算法(适合稠密图,贪心算法的运用,时间复杂度O(n+e),邻接表存储;O(n^2),图)//2.Kruskal算法(适合稀疏图,贪心算法的运用,时间复杂度O(eloge),e为边数)//求图最短路径......
  • 【题解】Luogu[P7706] 「Wdsr-2.7」文文的摄影布置
    Link一道很有意思的线段树题。第一步分析,我们要求最大的\(a_i+a_k-\min{(b_j)}\),事实上我们可以直接省去这个\(\min\)因为要最大化这个东西,选出来的\(b_j\)必然是最小的,所以原题转化为给定\(l,r\)求\(\max{(a_i-b_j+a_k)}\)其中\(i<j<k\)。第二步分析,我们发现这是一......