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

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. 简历模板:第一印象至关重要 专业与个性并存:选择一个既专业又有个性的模板。例如,如果你是一名工程师,可以选择一个简洁、有技术感的模板;如果是艺术行业,可以选…

Docker 的资源控制

目录 Docker 的资源控制为什么需要资源控制?控制内存使用限制 CPU 使用磁盘 I/O 控制网络带宽限制实践建议 Docker 资源控制:保障性能与稳定性Docker资源控制概览内存限制CPU限制磁盘 I/O 控制网络带宽管理实际应用 Docker 启动后的 更新资源管理 Docker…

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

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

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

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

理论学习:nn.CrossEntropyLoss

该标准计算输入 logits 和目标之间的交叉熵损失。 代码实战 该损失函数结合了nn.LogSoftmax()和nn.NLLLoss()两个函数。它在做分类(具体几类)训练的时候是非常有用的。在训练过程中,对于每个类分配权值,可选的参数权值应该是一个…

cdn和oss有什么区别

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

langchain入门

1、langchain的2个能力 可以将 LLM 模型与外部数据源进行连接允许与 LLM 模型进行交互 2、基础功能 LLM 调用 支持多种模型接口,比如 OpenAI、Hugging Face、AzureOpenAI ...Fake LLM,用于测试缓存的支持,比如 in-mem(内存&am…

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

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

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

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

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

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

c#WPF绑定

在 C# WPF 中,绑定是一种将 UI 元素(如文本框、列表框等)与数据源(如对象、集合等)关联起来的技术。通过绑定,可以在 UI 元素上显示和更新数据源中的数据,实现数据的双向同步。 下面是一个简单的…

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

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

mysql安装目录

方法一 输入如下sql命令 SELECT datadir;方法二 点击

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

力扣爆刷第91天之hot100五连刷41-45

力扣爆刷第91天之hot100五连刷41-45 文章目录 力扣爆刷第91天之hot100五连刷41-45一、102. 二叉树的层序遍历二、108. 将有序数组转换为二叉搜索树三、98. 验证二叉搜索树四、230. 二叉搜索树中第K小的元素五、199. 二叉树的右视图 一、102. 二叉树的层序遍历 题目链接&#x…

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

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

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

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

Python画图

Python中有多个库可以用于绘图,其中比较常用的有matplotlib、seaborn、plotly和bokeh等。这些库提供了丰富的绘图功能和自定义选项,可以帮助你创建各种类型的图表,包括线图、散点图、柱状图、饼图、热力图等。 下面是一个使用matplotlib库创…