c语言pta一维数组,【PTA】【数据结构与算法】堆

判断题

1.任何最小堆的前序遍历结果是有序的(从小到大)。 (2分)

T

F

2.任何最小堆中从根结点到任一叶结点路径上的所有结点是有序的(从小到大)。 (2分)

T

F

3.在有N个元素的最大堆中,随机访问任意键值的操作可以在O(logN)时间完成。 (2分)

T

F

4.一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (2分)

T

F

5.完全二叉树中,若一个结点没有左孩子,则它必是树叶。 (1分)

T

F

6.完全二叉树的存储结构通常采用顺序存储结构。 (1分)

T

F

选择题

1.堆的形状是一棵: (2分)

选项

A

二叉搜索树

B

满二叉树

C

非二叉树

D

完全二叉树

2.创建一个初始堆,含有N个记录,其时间复杂度是: (2分)

选项

A

O(logN)

B

O(N)

C

O(NlogN)

D

O(N2)

3.哪种树,树中任何结点到根结点路径上的各结点值是有序的? (2分)

选项

A

二叉搜索树

B

完全二叉树

C

堆

D

以上都不是

4.将6、4、3、5、8、9顺序插入初始为空的最大堆(大根堆)中,那么插入完成后堆顶的元素为: (2分)

选项

A

3

B

5

C

6

D

9

5.下列的序列中,哪一组是堆? (2分)

选项

A

37,99,45,33,66,10,22,13

B

99,45,66,13,37,10,22,33

C

99,66,45,33,37,10,22,13

D

99,66,22,33,37,13,45,10

6.已知关键字序列(5,8,12,19,28,20,15,22)是最小堆(小根堆),插入关键字3,调整后得到的最小堆是: (2分)

选项

A

3,5,12,8,28,20,15,22,19

B

3,5,12,19,20,15,22,8,28

C

3,8,12,5,20,15,22,28,19

D

3,12,5,8,28,20,15,22,19

7.将10、12、1、14、6、5、8、15、3、9、7逐个按顺序插入到初始为空的最小堆(小根堆)中,然后连续执行两次删除最小元素操作(DeleteMin),此后堆顶的元素是什么? (2分)

选项

A

5

B

6

C

7

D

9

8.将 {28, 15, 42, 18, 22, 5, 40} 逐个按顺序插入到初始为空的最小堆(小根堆)中。则该树的前序遍历结果为:(3分)

选项

A

5, 18, 15, 28, 22, 42, 40

B

5, 15, 18, 22, 28, 42, 40

C

5, 18, 28, 22, 15, 42, 40

D

5, 15, 28, 18, 22, 42, 40

9.设最小堆(小根堆)的层序遍历结果为{1, 3, 2, 5, 4, 7, 6}。用线性时间复杂度的算法将该堆调整为最大堆(大根堆),则该树的中序遍历结果为:(3分)

选项

A

3, 5, 4, 2, 6, 1, 7

B

1, 4, 3, 7, 2, 6, 5

C

3, 5, 4, 7, 2, 6, 1

D

4, 1, 3, 7, 6, 2, 5

10.有n(>1)个元素的最大堆(大根堆)中,最小元的数组下标可以是:(3分)

选项

A

1

B

⌊n/2⌋−1

C

⌊n/2⌋

D

⌊n/2⌋+2

11.在将数据序列( 6, 1, 5, 9, 8, 4, 7 )建成大根堆时,正确的序列变化过程是:(3分)

选项

A

6,1,7,9,8,4,5 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

B

6,9,5,1,8,4,7 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

C

6,9,5,1,8,4,7 → 9,6,5,1,8,4,7 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

D

6,1,7,9,8,4,5 → 7,1,6,9,8,4,5 → 7,9,6,1,8,4,5 → 9,7,6,1,8,4,5 → 9,8,6,1,7,4,5

12.在一个有2333个元素的最小堆中,下列哪个下标不可能是最大元的位置?(3分)

选项

A

1116

B

1167

C

2047

D

2232

13.在下述结论中,正确的是: (2分)

① 只有2个结点的树的度为1;

② 二叉树的度为2;

③ 二叉树的左右子树可任意交换;

④ 在最大堆(大顶堆)中,从根到任意其它结点的路径上的键值一定是按非递增有序排列的。

选项

A

①④

B

②④

C

①②③

D

②③④

14以下各组序列不属于堆的是()。 (2分)

选项

A

(100,85,98,77,80,60,82,40,20,10,66)

B

(10,20,40,60,66,77,80,82,85,98,100)

C

(100,85,40,77,80,60,66,98,82,10,20)

D

(100,98,85,82,80,77,66,60,40,20,10)

15.堆是满足一定条件的()。 (2分)

选项

A

完全二叉树

B

队列

C

栈

D

线性表

16.下列四个序列中,属于堆的是()。 (2分)

选项

A

(75,65,30,15,25,45,20,10)

B

(75,45,65,30,15,25,20,10)

C

(75,45,65,10,25,30,20,15)

D

(75,65,45,10,30,25,20,15)

17.设最小堆(小根堆)的层序遍历结果为{5, 18, 15, 28, 22, 42, 40}。用线性时间复杂度的算法将该堆调整为最大堆(大根堆),则该树的中序遍历结果为:(3分)

选项

A

18, 28, 22, 15, 40, 5, 42

B

18, 28, 22, 42, 15, 40, 5

C

5, 22, 18, 42, 15, 40, 28

D

22, 5, 18, 42, 40, 15, 28

18.对最小堆(小顶堆){1,3,2,6,7,5,4,15,14,12,9,10,11,13,8} 进行三次删除最小元的操作后,结果序列为:(2分)

选项

A

4,5,6,7,8,9,10,11,12,13,14,15

B

4,6,5,13,7,10,8,15,14,12,9,11

C

4,6,5,12,7,10,8,15,14,9,13,11

D

4,5,6,12,7,10,8,15,14,13,9,11

19.用线性时间复杂度的算法将给定序列{ 28, 12, 5, 8, 19, 20, 15, 22 }调整为最大堆(大根堆),然后插入30。则结果序列为:(3分)

选项

A

{ 5, 8, 28, 12, 19, 20, 15, 22, 30 }

B

{ 30, 28, 20, 22, 12, 5, 15, 8, 19 }

C

{ 30, 28, 22, 20, 19, 15, 12, 8, 5 }

D

{ 30, 28, 20, 22, 19, 5, 15, 8, 12 }

程序填空题

1.下列代码的功能是从一个大顶堆H的某个指定位置p开始执行下滤。

void PercolateDown( int p, PriorityQueue H )

{

int child;

ElementType Tmp = H->Elements[p];

for ( ; p * 2 <= H->Size; p = child ) {

child = p * 2;

if ( child!=H->Size && H->Elements[child+1] > H->Elements[child] (6分))

child++;

if ( H->Elements[child] > Tmp )

H->Elements[p] = H->Elements[child] (6分);

else break;

}

H->Elements[p] = Tmp;

}

2.本函数的功能是从有N个元素的线性表A中查找第K小的元素。其中函数BuildMaxHeap(H, K)是将元素H[1] … H[K]调整为一个最大堆。请完成下列填空。

ElementType FindKthSmallest ( int A[], int N, int K )

{ /* it is assumed that K<=N */

ElementType *H;

int i, next, child;

H = (ElementType *)malloc((K+1)*sizeof(ElementType));

for ( i=1; i<=K; i++ ) H[i] = A[i-1];

BuildMaxHeap(H, K);

for ( next=K; next

H[0] = A[next];

if ( H[0] < H[1] ) {

for ( i=1; i*2<=K; i=child ) {

child = i*2;

if ( child!=K && H[child+1]>H[child] (4分) ) child++;

if ( H[child]>H[0] (5分) )

H[i] = H[child];

else break;

}

H[i] = H[0];

}

}

return H[1];

}

PTA一维数组实战:从基础操作到算法优化 本文详细介绍了PTA平台上一维数组的基础操作与算法优化,包括数组声明、初始化、遍历、排序、查找及元素移位等核心技巧。通过实战案例和代码示例,帮助读者掌握高效处理数组问题的方法,提升编程能力与算法思维。 阅读详情

相关推荐

PTA 202X编程训练--一维数组(29道题)

数据类型 数组名[常量表达式]例如:表示定义一个名为score的数组,该数组有30相当于定义了30个float类型的变量,每一个称为数组中的一个元素,这些元素在内存中的存储示意如下:其下标从0开始计算,到29为止,下标是数组元素在数组中的序号。在定义数组时要注意以下几点:数据类型是用来说明数组元素的类型,可以是int , char , float,double等。对于同一个数组,其所有元素的数据类型都是相同的。数组名的命名应遵守标识符的命名规则,但是不能与其他变量同名。

Pretty Boy Fox的博客 1252

数据结构选择单选判断

数据元素是数据的最小单位。 F 数据的逻辑结构是指数据的各数据项之间的逻辑关系。 F 数据结构概念包括数据之间的逻辑结构、数据在计算机中的存储方式和数据的运算三个方面。 T 数据元素可以由类型互不相同的数据项构成。 T 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。 F 2N和NN具有相同的增长速度。 F 算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 T n! is O(n n ). T O(N2) is the same as O(1 + 2 + 3 + ? +N). T

sway12138的博客 6704

[终于解决]Ubuntu14.04 32位安装移动网卡(0bda:b711)驱动8188gu tplink-WN726n

大致梳理一下问题解决的流程 首先,在台式机做了双系统,台式机只有一个网线接口,由于项目要求,需要占用网口传输数据,所以用之前买的tplink-WN726n免驱版2.0的移动网卡 【note】免驱版只能在Windows下安装使用,在Ubuntu系统中无法使用,所以,需要另辟蹊径。 找了很多资料,尝试很多方法,有的复杂有的简单,终于解决。 【思路】首先在Ubuntu系统中输入lsusb,查看是否检测到USB网卡设备。然后从Github中复制代码,构建,安装,然后modprobe一下,到前面那步还不行,就再来一步

瑞o 1万+

中国大学MOOC-陈越、何钦铭-数据结构-2018春期中考试

判断题:1-1 所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)F:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这种循环队列可以以单链表的方式来在实际编程应用中来实现。因此,循环队列是一个抽象的数据结构,而单向循环链表或循环数组是具体的实现方式,不是数据结构本身。1-2 将1、2、3、4、5、6顺序插...

Invokar的博客 1万+

Word论文插入带有方括号序号的参考文献——尾注+交叉引用

文章目录1. 尾注功能2. 为参考文献的序号添加方括号3. 调整参考文献前的序号大小4. 重复引用同一参考文献5. 将交叉引用的序号改为带有方括号的上标序号格式6. 删除参考文献前的尾注横线 1. 尾注功能 首先使用尾注功能顺序插入参考文献,暂时不考虑方括号问题,具体操作如下: ① 将光标放在需要插入参考文献角标的地方 ② 在word菜单栏,“引用-脚注部分右下角箭头”(用来设置尾注格式) ③如...

Your_Raymond的博客 9万+

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第一部分

环形谐振器教程的第 1 部分使用 MODE 来设计和仿真环形谐振器。 自由光谱范围 (FSR) 和品质因数 (Q 因数) 是这种面向片上通信应用的基于绝缘体上硅 (SOI) 波导设计的关键性能指标。

weixin_45719141的博客 3万+

数据结构复习

临近期末整理的一些复习题,仅供参考,切莫作为期末考试依据!!!

没事发发博客 3148

⭐⭐⭐全网最详细YOLOv8教程,从环境配置到自己训练,再到数据集的制作,包的各位⭐⭐⭐

问题原因:当你“pip install ultralytics” 时,torch和torchvision会作为它的依赖一起安装了,当执行“pip install torch torchvision torchaudio --index-url。”时,会卸载torch,然后再安装torch+cuda版本,但是不会自动卸载torchvision已有版本,然后再安装torchvision+cuda版本。🎉🎉🎉恭喜各位道友,已经可以训练模型了,现在就是制作自己的数据集,所谓申神通秘境,随心所欲,万物皆可识别也

weixin_74840239的博客 7492

数据结构复习题——选择题

在数据结构中,从逻辑上可以把数据结构分成线性结构和非线性结构。树是非线性数据结构。如果循环队列用大小为m的数组表示,且用队头指针front和队列元素个数size代替一般循环队列中的front和rear指针来表示队列的范围,那么这样的循环队列可以容纳的元素个数最多为:m。若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为2和0。由3 个结点可以构造出5种不同的二叉树。

weixin_46448596的博客 4531

告别虚拟机!在WSL2的Ubuntu里5分钟跑通LVGL v9.2图形界面(附SDL2配置避坑)

本文详细介绍了如何在WSL2的Ubuntu子系统中快速配置LVGL v9.2图形库的SDL2模拟环境,帮助嵌入式开发者在5分钟内跑通第一个图形界面示例。通过WSL2和VSCode的远程开发插件,实现Windows系统下无缝使用Linux工具链,大幅提升开发效率。

weixin_28736335的博客 425

Claude Code vs Codex实战对比:哪个更适合你的Next.js项目?(含真实案例)

本文通过两个真实的Next.js项目案例,深度对比了Claude Code与Codex在UI实现和业务逻辑构建中的表现。Claude Code在代码质量、设计还原度和架构完整性方面优势明显,适合对可维护性要求高的生产级项目;而Codex则以快速响应和低成本见长,更适合原型开发或内部工具。文章提供了基于项目类型、团队能力和成本效益的详细选择策略。

weixin_29201859的博客 809

【PTA】【数据结构与算法】堆

这里是从PTA平台整理的【堆】题目集

葑鈊丶 1万+

9、储备池学习:从学习到学习的新范式

本文探讨了基于学习到学习(L2L)框架的储备池计算新范式,提出通过在外循环中优化储备池的超参数(如递归连接权重、输入权重和读出初始化),以提升其在多种任务中的内循环学习性能。研究展示了两种主要实验设置:一是优化储备池用于回归二阶Volterra滤波器任务,显著优于随机基线;二是实现无需调整读出权重、仅依赖内部动态学习非线性函数的能力,表明储备池可快速构建目标函数的内部模型并安装任务先验知识。结合流程图与表格,文章系统呈现了L2L的训练流程、技术细节及实验结果,并讨论了性能提升、泛化能力等开放问题,指出了未来

ujm56789012的博客 504

PTA-Windows消息队列-C语言(最小堆)

PTA-7-26 Windows消息队列 直达题目点我!>…< 题目描述就不写啦 思路 最小堆,堆顶就是最小的数字咯(也就是优先级最大的) 这样我们只需要创建一个最小堆,每次GET时将第一位输出就行了,然后将第一位删除(也就是让最后一位到第一位,当然这个时候,已经不是二叉堆了,就需要将堆顶的向下滚(down函数)…) 建立堆,也就是PUT时,只需要将每个输入进来的消息放在最后一位,然后up(就是让他向上滚),形成最小堆…(这里不了解最小堆的小伙伴可能理解起来很难,建议先把最小堆,最大堆的创

zhaoxiy的博客 941

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C语言 PTA 习题目录

自己方便复习整理的

weixin_63484669的博客 4671

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

交换最大值与最小值c语言pta,C语言博客做业--数组

#展示PTA总分 算法 #本章学习内容总结 ##一维数组 ###1.定义:一维数组的定义通常形式是:数组 ###类型名指定数组中每一个元素的类型 ###数组名是数组变量的名称 ##注:数组长度是一个常量 ###数组名是一个地址常量,存放数组内存空间的首地址。 ##2.引用 ###定义数组后,就可使用了。C语言规定,一次引用整个数组。数组元素的引用要指定下标,形式为:数据结构 ###下标能够是数型...

weixin_36337122的博客 2430

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C语言错题集(LeetCode、MOOC、PTA、牛客网)

C语言错题集PTA 练习2-6 计算物体自由下落的距离 (5 分)输入格式:输出格式:练习2-12 输出华氏-摄氏温度转换表 (15 分)输入格式:输出格式:输入样例1:输出样例1:输入样例2:输出样例2:PTA 练习2-13 求N分之一序列前N项和 (15 分)输入格式:输出格式:输入样例:输出样例:PTA 习题5-2 使用函数求奇数和 (15 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PTA 习题5-4 使用函数求素数和 (20 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PT

nous_x的博客 7863

山东理工大学程序设计与基础 pta C语言 一维数组

SDUT PTA C语言 第五章 一维数组

m0_73724322的博客 3557

PTA 一维数组 7-3 动态删除重复元素实战

本文详细解析了PTA平台上一维数组动态删除重复元素的实战方法,通过双指针算法实现高效删除,适用于数据清洗和日志分析等场景。文章包含完整的C语言代码实现、算法优化建议及常见错误调试技巧,帮助开发者掌握这一经典编程问题的解决方案。

weixin_30566063的博客 412

C语言数组操作避坑指南:为什么你的PTA删除题目总是报错?

本文深入剖析了在PTA平台解决C语言一维数组删除题目时常见的错误根源与实战技巧。针对数组物理存储固定、逻辑操作易错的特性,详细讲解了双指针法、边界条件处理、输出格式控制等核心方法,并提供了一套稳健的代码框架,帮助读者彻底规避段错误和答案错误,高效完成数组操作。

weixin_29003437的博客 539

C语言pta程序设计---实验五(一维数组)

C语言pta程序设计---实验五(一维数组)

m0_72900498的博客 6710

浙大版C语言PTA练习答案

目录 (一)、选择结构 1、习题2-2 阶梯电价 (15 分) 输入格式: 输出格式: 2.个人所得税 3.超市打折促销 二、单重循环 1、练习2-13 求N分之一序列前N项和 (15 分) 输入格式: 输出格式: 输入样例: 输出样例: 2、练习2-14 求奇数分之一序列前N项和 (15 分) 输入格式: 输出格式: 输入样例: 输出样例: 3、练习2-15 求简单交错序列前N项和 (15 分) 输入格式: 输出格式: 输入样例: 输出样例: 4、7-1 求e

negaddzero的博客 1万+

【PTA】【C语言】复盘练习——函数题

目录 R6-1 最大公约数-递归 R6-2 猴子吃桃-递归 R6-3 奇妙的定律-递归 R6-4 删除单链表的第i个结点。 R6-5 链表-查找链表最后节点 R6-6 链表逆序 R6-7 结构体-查找最低分学生记录 R6-8 结构体-查找同学信息 R6-9 逆序输出字符串 R6-10 求整数区间[a,b]中偶数之和 R6-11 阶乘计算 R6-12 求10×10方阵主副对角线元素之和 R6-13 输入多个单词,统计以指定字母开头的单词个数 R6-14 求等差数列前n项和 R

yewanyuan的博客 1万+

C语言刷题路线指南

学习C语言首先是学习语法,语法了解后,就能写代码,对语法的巩固就是写代码。那学习C语言期间如何刷题呢?很多同学在学习C语言期间,找的题目不合理,直接从入门到放弃,更有很多同学其实找不到合适的题目,那结合网络上的一些刷题网站,给大家整理了一份由到,再到的刷题路线。

实事求是,追求技术,精益求精~将至而立之年,不忘年少初心! 1332

[PTA]7-3 逆置一维数组

编写程序,以指针的方式,就地逆置一维数组。

2201_75443644的博客 1029
上一篇: c语言课程设计--打飞碟源代码,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
下一篇: c语言链式结构体,C语言——结构体,线性表的链式存储
weixin_39890629
博客等级 码龄9年 56粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值