数据结构选择题及答案

一、选择题

1、下列查找方法中,( )适用于查找有序单链表。
A.分块查找; B.哈希查找; C.顺序查找; D.二分查找;
2、在有n个结点的二叉树的二叉链表表示中,空指针数为( )。
A.不定; B.n+1; C.n; D.n-1;
3、在下列排序方法中,( )方法所有情况下时间复杂度均为O(nlogn)。
A.希尔排序; B.堆排序; C.快速排序; D.直接插入排序;
4、设有一个nn的对称矩阵A,将其下三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么对角元素A[i][i]存放于B中( )处。
A. (i+3)*i/2 B. (i+1)*i/2
C. (2n-i+1)*i/2 D. (2n-i-1)*i/2
5、已知一组待排序的记录关键字初始排列如下:45,34,87,25,67,43,11,66,27,78。快速排序法一趟排序的结果为( )。
A.34,45,25,67,43,11,66,27,78,87 B.87,45,11,25,34,78,27,66,67,43
C.27,34,11,25,43,45,67,66,87,78 D.34,11,27,25,43,78,45,67,66,87
6、若某二叉树有15个叶子结点,有15个结点仅有一个孩子,则该二叉树的总结点数是( )。
A. 42 B. 44 C. 45 D. 46
7、设n个元素进栈序列是x1,x2,x3,…,xn,其输出序列是1,2,3,…,n,若x3=3,则x1的值( )。
A. 可能是2 B. 不可能是1 C. 一定是2 D. 一定是1
8、在一个单链表中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。。
A. p=q; p->next=q; B. p->next=q; q->next=p;
C. p->next=q->next; p=q; D. q->next=p->next; p->next=q;
9、串"aababaabacab"的next数组为( )
A. 011212345123 B. 012112345123
C. 012121234512 D. 012341123412
10、对下图所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列是( )
在这里插入图片描述

A.1 2 4 3 5 7 6 B.1 2 4 3 5 6 7
C.1 2 4 5 6 3 7 D.1 2 3 4 5 7 6

答案:
1 2 3 4 5 6 7 8 9 10
C B B A C B A D C A

二、算法设计题(请先简要说明算法思想,然后写出算法的C语言源代码实现)

1、设计一个算法deleteMinNode(LinkList &L),在带头结点的单链表L中删除所有结点值最小的结点(可能有多个结点值最小的结点)。
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode, *LinkList;

2、二叉树用二叉链表存储表示。
typedef struct BiTNode
{
TelemType data;
Struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
编写一个复制一棵二叉树的递归算法。
统一使用如下函数名:BiTree CopyTree(BiTree T)

1、参考答案:
用p从头至尾扫描单链表,pre指向p结点的前驱,用minp保存值最小的结点指针,minpre指向minp结点的前驱。一面扫描,一面比较,将最小值的结点放到minp中。算法如下:
void deleteMinNode (LinkList &L)
{
LinkList pre=L, p=pre->next, minp=p, minpre=pre;
ElemType mindata=p->data;
while (p!=NULL && p->data<mindata)
{ mindata=p->data;
p=p->next;
}
p=pre->next;
while (p!=NULL)
{
if (p->data==mindata)
{ pre->next=p->next;
free§;
}
pre=pre->next;
p=pre->next;
}
}
2、参考答案:
BiTree CopyTree(BiTree T) {
if (!T ) return NULL;
if (!(newT = (BiTNode
)malloc(sizeof(BiTNode))))
exit(Overflow);
newT-> data = T-> data;
newT-> lchild = CopyTree(T-> lchild);
newT-> rchild = CopyTree(T-> rchild);
return newT;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/914178.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

npm完整发包流程(亲测可验证)

1. 准备工作 &#xff08;1&#xff09; 在npm官网上注册一个账号 &#xff08;2&#xff09; 注册成功之后&#xff0c;npm会发送一封邮件给你&#xff0c;点击邮件里面的链接&#xff0c;做确认关联操作&#xff08;必需&#xff09; 2. 创建自己的npm包 &#xff08;…

3.2 软件需求:面对过程分析模型

面对过程分析模型 1. 需求分析的模型概述1.1 面对过程分析模型-结构化分析方法1.2 结构化分析的过程 2. 功能模型&#xff1a;数据流图初步2.1 加工2.2 外部实体&#xff08;数据源点/终点&#xff09;2.3 数据流2.4 数据存储2.5 注意事项 3. 功能模型&#xff1a;数据流图进阶…

【机器学习】机器学习中用到的高等数学知识-1.线性代数 (Linear Algebra)

向量(Vector)和矩阵(Matrix)&#xff1a;用于表示数据集&#xff08;Dataset&#xff09;和特征&#xff08;Feature&#xff09;。矩阵运算&#xff1a;加法、乘法和逆矩阵(Inverse Matrix)等&#xff0c;用于计算模型参数。特征值(Eigenvalues)和特征向量(Eigenvectors)&…

向量数据库PGVECTOR安装

文章目录 前提向量数据库介绍PGVECTOR安装1、pgvector下载2、编译安装3、创建vector扩展 前提 已经安装好了pg14版本。 其他版本也可以。 pg安装教程&#xff1a;https://blog.csdn.net/yushaoyyds/article/details/138855306?spm1001.2014.3001.5502 向量数据库介绍 向量数…

头歌网络安全(11.12)

头歌禁止复制解决 必须先下篡改猴&#xff01;&#xff01;&#xff01;&#xff01; 头歌复制助手 Educoder Copy Helperhttps://scriptcat.org/zh-CN/script-show-page/1860 Java生成验证码 第1关&#xff1a;使用Servlet生成验证码 任务描述 本关任务&#xff1a;使用se…

技术栈1:nginx基础入门

目录 1.nginx概述 2.正向代理与反向代理 3.负载均衡 4.动静分离 5.nginx反向代理配置 1.nginx概述 Nginx (engine x)是一个高性能的HTTP和反向代理Web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发…

自建CDN是否适合您的企业?

在信息化加速发展的今天&#xff0c;CDN&#xff08;内容分发网络&#xff09;对于优化内容传输速度、提升用户体验的重要性已不容忽视。企业在选择CDN方案时&#xff0c;常常面临两个选择&#xff1a;自建CDN或租用CDN服务。自建CDN让企业拥有高度的自主权和灵活性&#xff0c…

aws xray通过设置采样规则对请求进行过滤

参考资料 https://github.com/aws/aws-xray-sdk-pythonpython api reference&#xff0c;https://docs.aws.amazon.com/xray-sdk-for-python/latest/reference/node api reference&#xff0c;https://docs.aws.amazon.com/xray-sdk-for-nodejs/latest/reference/ 初始化环境…

特色3D打印stm32迷你8轴双核心主板

我自己设计的3D打印机主板 1. 这是一块迷你的8轴主板, 主板尺寸为100mm*75mm, 使用一个8cm静音风扇散热足够了2. 这是一个带有保护的板子, 驱动上的gpio具有过压保护功能, 能够直接抗住24V的冲击, 意味着一个驱动炸了, 板子不烧, 并且其他的驱动也没事, 主板支持自动关机3. 8…

无人机动力测试台如何快速外接第三方传感器

前言 动力测试台对于测试动力系统的拉力、扭矩、RPM 和效率至关重要。将传感器集成到您的测试中增加了另一层优化&#xff0c;可以将您的性能提升到一个新的水平。 在无人驾驶行业中&#xff0c;有充分的证据表明&#xff0c;从外部传感器收集数据可能具有挑战性。为了解决这…

Autosar CP Network Management模块规范导读

Network Management模块的主要功能 网络管理适配:作为通信管理器和总线特定网络管理模块之间的适配层,实现不同总线网络管理功能的统一接口,确保系统中各种网络的协同工作。协调功能 网络协调关闭:使用协调算法协调多个网络的关闭,确保它们在合适的时间同步进入睡眠模式,…

数据库系统概论(期末复习版)

&#xff08;一&#xff09;绪论 数据(Data)&#xff1a;是数据库中存储的基本对象 数据的定义&#xff1a;描述事物的符号记录 数据的种类&#xff1a;文字、图形、图象、声音等 数据的特点&#xff1a;数据与其语义是不可分的 数据库(Database,简称DB)&#xff1a;是长期…

【Linux】进程池实现指南:掌控并发编程的核心

文章目录 1.为什么要有进程池2.进程池的工作原理2.1 进程池的工作流程 3. 进程池的实现&#xff08;重点&#xff09;3.1 Channel类3.2 ProcessPool类3.2.1 创建子进程3.2.2 杀死所有进程3.2.3 其他功能 3.3 控制进程池 4. 完整代码5. 总结 &#x1f3e0; 大家好&#xff0c;我…

专业140+总分400+南京大学851信号与系统考研经验南大电子信息通信工程集成电路,真题,大纲,参考书。

经历一年的备战&#xff0c;顺利上岸南大&#xff0c;专业课851信号与系统140&#xff0c;总分400&#xff0c;数学二没有考的很好&#xff0c;比专业课低不少&#xff0c;有点遗憾&#xff0c;英语和政治正常发挥&#xff0c;总结一下自己复习经验&#xff0c;希望大家可以从中…

【OpenEuler】配置虚拟ip

OpenEuler系统手动配置虚ip 介绍操作方法临时生效永久生效 验证 介绍 我们知道通过keepalived服务可以为linux服务器设置虚拟ip&#xff0c;但是有些特殊场景下若无法安装部署keepalived服务&#xff0c;则需要通过手动设置的方式&#xff0c;配置服务器的虚拟ip。 本方案提供…

vue-echarts 动态x轴字段,可选多个公司数据,根据选择的条件动态生成echarts柱形图(或者折线图)

需求&#xff1a;月份、 公司 、显示字段、柱形图&#xff08;折线图&#xff09;&#xff0c;都为动态可选的。 &#xff08;此例子&#xff1a;模拟数据都为随机数&#xff0c;所以每次截图值都会不同&#xff09; &#xff08;Vue3 echarts 5.4.2版本&#xff09; <te…

算法每日双题精讲——滑动窗口(最大连续1的个数 III,将 x 减到 0 的最小操作数)

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 别再犹豫了&#xff01;快来订阅我们的算法每日双题精讲专栏&#xff0c;一起踏上算法学习的精彩之旅吧&#xff01;&#x1f4aa;…

重磅!通过国密局技术评审的112家密评机构公示

2024年10月28日&#xff0c;国家密码管理局官方网站发布《商用密码检测机构&#xff08;商用密码应用安全性评估业务&#xff09;资质申请通过技术评审的机构名单公示》&#xff0c;依据《商用密码管理条例》、《商用密码检测机构管理办法》有关规定&#xff0c;国家密码管理局…

【Windows】CMD命令学习——系统命令

CMD&#xff08;命令提示符&#xff09;是Windows操作系统中的一个命令行解释器&#xff0c;允许用户通过输入命令来执行各种系统操作。 系统命令 systeminfo - 显示计算机的详细配置信息。 tasklist - 显示当前正在运行的进程列表。 taskkill - 终止正在运行的进程。例如&am…