数据结构与算法第三套试卷小题

1.删除链表节点

**分析:**首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B。
在这里插入图片描述

2.时间复杂度的计算

**分析:**当涉及嵌套循环的时候,我们可以直接分析内层循环即可,看内层循环走了多少次
在这里插入图片描述

3.堆排序以及与其他排序的区别:

A
在这里插入图片描述
解析:
问的是空间复杂度,堆排序的空间复杂度为0(1);
时间复杂度为0(nlogn);
思路:
分为创建堆调整堆——>每调整一次的时间复杂度为0(logn),一共需要调整n-1

其他:
1.选择排序: 时间复杂度无论最好和最坏和平均都为0(n^2)
空间复杂度上与冒泡排序,插入排序,选择排序类似都为0(1)

2.快速排序: 时间复杂度为0(nlogn),最坏为0(n^2);空间复杂度为0(1)

3.归并排序: 时间复杂度均为0(nlogn),空间复杂度为0(n);

重点区别:
在这里插入图片描述
快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为O(log2n)

4.快速排序的思路:

在这里插入图片描述
方法论:
从两头往中间搜索,右边找小,左边找大,右边先走
**1.第一步:**右边找到了10,左边找到了21,交换
**2.第二步:**在上面的位置上,右边继续向前,遇到了上一步的10,左右相遇,所以10的位置就是20的基准位,结束请添加图片描述

5.有向无向图和邻接表的转换

1:无向图的表头节点数,表节点数:顶点个数,边2;
2:有向图的表头节点数,表节点数:顶点个数,边
1;

6.强连通图

1.首先它的本质只是一个连通图,任意两个顶点之间都存在一条有向路径,即从任意一个顶点出发可以到达图中的任意其他顶点。
2.有向完全图一定是强连通,反之不一定;
3.最少边为n=顶点数

7.数据结构

1.数据结构的物理结构主要包括: 顺序存储结构,链式存储结构;
2.数据结构的逻辑结构: 线性结构,非线性结构(线性结构有线性表和栈,队列;非线性结构有树,图结构);
3.存储结构分为: 顺序存储,链式存储,索引存储,散列存储;
4.基本概念:
1.数据的基本单位是数据元素
2.数据元素最小单位为数据项
3.具有相同性质的数据元素的集合为数据对象
4.数据对象的集合为数据类型

5.存储结构和逻辑结构的关系:
存储结构则决定了数据在计算机内存中的实际存储方式
逻辑结构描述了数据元素之间的关系
数据结构是由其逻辑结构存储结构共同决定的;

8.算法的特性:

五大特性: 有穷性,确定性,可行性,输入,输出;

9.树在这里插入图片描述

1.深度: log2(n)+1 【n为顶点数】
**2.空指针域:**知道有多少叶子节点即可,然后利用n=n0+n1+n2,n2=n0-1;

10.图

出度: 顶点i在邻接矩阵第i行的所有元素之和为出度
入度: 顶点i在邻接矩阵第i列上所有元素之和为入度
邻接表上,顶点有n个,表头节点就有n个,至于表节点对应的是图某顶点的出度;

11.哈夫曼树

在这里插入图片描述
1.如何绘制: 两个最小生成树合并为一个新的树,然后重复以往过程;
2.情况: 哈夫曼树首先分为叶子节点和非叶子节点,叶子节点的度为1,非叶子节点的度为2;
所以度为1的节点一定为叶子节点,而哈夫曼树的构造后,叶子节点数一定为0——>所以度为1的节点数即为0;

12.二分查找最多次数:

在这里插入图片描述
log2n+1;

13.数据结构增删改查操作的时间复杂度

1.队列(Queue):
增加元素(enqueue):O(1)
删除元素(dequeue):O(1)
修改元素:队列通常不支持直接修改元素
查找元素:通常需要遍历整个队列,时间复杂度为O(n)

2.栈(Stack):
增加元素(push):O(1)
删除元素(pop):O(1)
修改元素:栈通常不支持直接修改元素
查找元素:通常需要遍历整个栈,时间复杂度为O(n)

3.树(Tree):
增加元素:O(log n) - 平衡二叉搜索树的情况下,最好为O(log n),最坏为O(n)
删除元素:O(log n) - 平衡二叉搜索树的情况下,最好为O(log n),最坏为O(n)
修改元素:可以视为删除+增加操作,时间复杂度与删除和增加相同
查找元素:O(log n) - 平衡二叉搜索树的情况下,最好为O(log n),最坏为O(n)

4.图(Graph):
增加元素(添加节点或边):O(1) - 在邻接表中添加节点或边的时间复杂度为O(1)
删除元素(删除节点或边):O(degree) - 对于邻接表,删除节点或边的时间复杂度取决于该节点的度数
修改元素:通常需要进行删除和增加操作,时间复杂度与删除和增加相关
查找元素:通常需要遍历整个图,时间复杂度为O(V+E),其中V为节点数,E为边数

14.求图的拓扑序列:

总结: 1.首先画出给定边集合的有向图,2.然后删除入度为0的节点,并去除它的出度边
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年春招,如何做一份高水平的简历?(附个人简历模板)

抓对这几个重点,你想不通过简历面都难! HR想看到什么?雇主想看到什么?你未来的Leader想看到什么? 1. 简历模板:第一印象至关重要 专业与个性并存:选择一个既专业又有个性的模板。例如,如果你是一名工程师,可以选择一个简洁、有技术感的模板;如果是艺术行业,可以选…

面试官:线程调用2次start会怎样?我支支吾吾没答上来

写在开头 在写完上一篇文章《Java面试必考题之线程的生命周期,结合源码,透彻讲解!》后,本以为这个小知识点就总结完了。 但刚刚吃晚饭时,突然想到了多年前自己面试时的亲身经历,决定再回来补充一个小知识点&#xff…

Dgraph 入门教程三《linux本地部署》

上一章中,我们用的官方的Clound操作的,怎么在本地部署一套Dgraph呢。这一章将做详细介绍。安装有好几种方式,最简单的就是联网部署。因为项目需要,这里先不介绍和测试线上部署了,只介绍离线部署。 1、下载安装包 Rel…

cdn和oss有什么区别

CDN(内容分发网络)和OSS(对象存储服务)是两种常见的互联网技术,它们在内容存储和分发方面有着不同的功能和特点。 CDN:加速网络内容分发 CDN通过部署在全球各地的节点服务器,将静态内容缓存到离…

开源是什么?——跟老吕学Python编程

开源是什么?——跟老吕学Python编程 开源是什么?开放源代码软件是什么?开源软件许可证是什么?开放源代码软件是什么?开放源代码的软件代表有什么?开放源代码软件与自由软件的概念 开源的定义是什么&#xf…

JavaScript基础6之执行上下文、作用域链、函数创建、函数激活、checkScope的执行过程、闭包、this

JavaScript基础 执行上下文执行上下文中的属性变量对象全局上下文的变量对象函数上下文执行过程进入执行上下文代码执行思考题 作用域链函数创建函数激活checkScope的执行过程总结 闭包分析闭包 this 执行上下文 执行上下文中的属性 每一个执行上下文都有三个核心属性 变量对…

职场逆袭!如何打造‘黄金简历’

现在的职场,无论是哪个行业都特别卷,想要找到一份满意,不仅要求你要拥有丰富的工作经验,而且还要求你的简历足够精彩,这样才能在一众求职者中脱颖而出! 一、希赛老师在线指导 之前,小赛分享了…

CTP-API开发系列之四:接口对接准备

CTP-API开发系列之四:接口对接准备 CTP-API开发系列之四:接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之四:接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交…

docker-swarm集群管理命令

为什么选择swarm集群? 灵魂疑问:同样是集群,为什么选择docker swarm,而不不选择k8s或者k3s? 我的需求场景:不想直接用docker或者java -jar直接跑,修改前是使用java -jar方式,这两种…

Redis冲冲冲——Redis持久化方式及其区别

目录 引出Redis持久化方式Redis入门1.Redis是什么?2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证码4.R…

代码背后的女性:突破性别壁垒的技术先驱

个人主页:17_Kevin-CSDN博客 收录专栏:《程序人生》 引言 在计算机科学的历史长河中,有许多杰出的女性为这个领域的发展做出了重要贡献。她们不仅在技术上取得了卓越成就,还打破了性别壁垒,为后来的女性树立了榜样。今…

【算法】Hash存储——开放寻址法

模拟散列表 维护一个集合,支持如下几种操作: I x,插入一个整数 x; Q x,询问整数 x是否在集合中出现过; 现在要进行 N次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N&am…

查询IP地址保障电商平台安全

随着电子商务的快速发展,网购已经成为人们日常生活中不可或缺的一部分。然而,网络交易安全一直是人们关注的焦点之一,尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性,一种有效的方法是通过查询IP地址…

ctfshow-XXE(web373-web378)

目录 XXE&#xff08;外部实体注入攻击&#xff09; web373 web374 web375 web376 web377 web378 知识点 XXE&#xff08;外部实体注入攻击&#xff09; XXE这几关有个前提flag在根目录下文件名为flag web373 <?php error_reporting(0); libxml_disable_entity_…

stable diffusion的额外信息融入方式

conditioning怎么往sd中添加&#xff0c;一般有三种&#xff0c;一种是直接和latent拼一下&#xff0c;另外很多是在unet结构Spatialtransformers上加&#xff0c;和文本特征一样&#xff0c;通过cross-attention往unet上加&#xff0c;这里还需要注意一点&#xff0c;在文本嵌…

调整分区失败,硬盘难启:原因分析与数据恢复之道

在数字化时代&#xff0c;硬盘作为存储数据的重要工具&#xff0c;其稳定性和安全性至关重要。然而&#xff0c;有时在调整分区的过程中&#xff0c;我们可能会遭遇失败&#xff0c;导致硬盘无法打开&#xff0c;数据无法访问。这种情况不仅令人沮丧&#xff0c;更可能带来不可…

基于springboot+layui仓库管理系统设计和实现

基于 java springbootlayui仓库管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…

不要在代码中随便使用try...catch了

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 背景 js中的try...catch try...catch运行机制 js的事件循环机制 try...c…

「2024」不再内卷,让AI低代码带你玩点新花样!

这一次&#xff0c;OpenAI的不败传奇终于被撼动。 其强劲对手Anthropic于北京时间&#xff08;2024年3月4日&#xff09;震撼发布新一代AI大模型系列——Claude 3。 根据官方性能测试数据的展示&#xff0c;Claude 3系列模型在各项表现上均超越GPT-4&#xff0c;荣登全球最强…

基于yolov7与arduino的眼睛跟随模块

基于yolov7与arduino的眼睛跟随模块 整个模块的介绍摄像模块图片传输模块图像检测模块控制模块动力模块 整个模块的介绍 我们首先需要一个图片收集的模块来对当前的图片进行收集然后将图片传至服务端对图片中的眼睛利用YOLO进行检测最后将数据传至arduino使其控制动力模块来进…