25考研王道数据结构课后习题笔记

news2025/1/6 0:52:38

声明:以下内容来自于B栈知名up主–白话拆解数据结构

回答:为什么要做这个,因为我这个学期学完了数据结构,而且这个数据结构是408的重头,为什么选择25的,因为这个25考研刚刚结束,25相对成熟,26考验的还刚刚起步,所以选择的是25考研的;

1.数据结构基本概念

数据结构完整的话,是包括我们的这个逻辑关系,存储结构和运算类型;

逻辑关系:这个数据结构的不同部分的元素之间的这个关系;

存储结构:就是在这个计算机内存里面是以什么样的方式进行存储的;

运算:就是加减乘除,排序等等相关的这些操作;

但是题目上面说的是这个什么可以定义这个完整的数据结构,实际上抽象的数据类型就可以定义这个完整的数据结构了(只是表明数据元素之间的这个关系),其实这个就已经可以定义我们的这个数据结构了,这个抽象数据类型的这个英文全称是abstract data type,简称就是ADT,这个我们也可以了解一下;

image-20250102171901654


下面的这个是非线性的结构:我们的这个栈和队列都是典型的这个线性数据结构,但是这个树显然是树状的结构,不属于我们的线性结构;

image-20250102172920404


下面的问的是逻辑结构:我们可以反其道而行之,去看看这个逻辑结构,为什么,因为这个里面的顺序表,链表,单链表都是属于典型的储存结构对把,分别是顺序存储,链式存储,以及这个散列存储(因为这个哈希表也是被称为这个散列表的)还有的存储方式就是索引存储(我觉得这个数组下标索引应该是属于这个类型的存储的方式的);

image-20250102173046258


下面的这个问题:我们的顺序结构独立于存储的结构,但是我们的这个存储的结构不是独立于逻辑结构的,因为我们的这个存储结构需要体现我们的这个元素之间的这个逻辑关系,因此我们的这个存储结构是不独立于逻辑结构的;

image-20250102173613922


我们对于这个数据进行存储的时候,不仅存的这个数据的值,而且要存这个数据的之间的这个逻辑关系;

image-20250102173903298

2.算法和算法评价

我们的这个算法的时间复杂度是O(n2),说明这个算法的执行的时间是和我们的n2成正比的,因为我们的这个时间复杂度进行这个计算的时候,是不考虑这个系数,例如这个2n2或者是其他的带系数的,我们都写作这个n2,因此这个执行的时间复杂度就是和n2成正比,可以是这个n2的倍数,但是不一定完全就是n^2,对于这个问题的规模而言,实际上和规模是n;

image-20250102174540806


下面的空间复杂度:O(1)实际上表示的是常数次,而不是其他的,且这个辅助空间的大小是固定的,和我们的这个问题的规模没有关系;

image-20250102174828102


下面的是:时间复杂度的比较,这个实际上比较的就是我们的这个数量级,显然这个D里面的这个以2为底数的这个时间复杂度的这个量级就是最小的,其实这个nlongn同时出现的时候,这个n就可以直接忽略了,因为和n*logn相比,这个n数量级算是小的;

image-20250102175037777


下面的是代码求解时间复杂度:

我们发现这个循环里面是每一次乘上2,也就是1 2 4 8 16 …n也就是每一次乘上2,2^x=n这个x的求解的结果就是我们的这个执行的次数;

image-20250102175335124


下面的这个是求解时间复杂度:这个实际上就是我们的等差数列的求和公式,最后的这个结果可能并不是严谨的这个1+2+3+…+n,但是就算是缺项,这个对于我们的这个整体的这个数量级的影响也是微乎其微的,因此我们就可以当做n(n^2)看待,但是这个实际上是n(n+1)/2,这个是我们的等差数列的求和的结果的,但是我们说了我们的这个时间复杂度强调的是这个量级,前面的这个系数就省略,就是下面的这个:
n 2 + n n^2+n n2+n
但是我们的这个平方的这个数量级更大,因此这个还可以继续化简:
n 2 = = = > 最后的化简结果 n^2===>最后的化简结果 n2===>最后的化简结果
image-20250102175622025


下面的这个两个数量级进行比较:这个显然是n^2占据主导地位;

image-20250102180840681


下面的这个是求运算的执行次数,我们的这个执行次数就不可以像上面的时间复杂度那么粗糙了,因为我们的时间复杂度进行计算的时候是可以粗糙一些的,只要注重这个量级就可以了,但是这个执行的次数的话,是多少就是多少,我们不可以只关注量级,但是这个我们带入几个实例,就会发现这个就是我们的等差数列求和,只不过这个公差是2,但是这个还是使用的我们的这个等差数列的求和的公式;

最后计算的这个执行的次数就是n(n+1)如果是时间复杂度就是n^2,但是我们的这个问的就是执行的次数,所以是多少就写多少;

image-20250102181601640


下面的是递归:但是并不难理解,因为这个每一次都是除以2,因此这个最后直到等于1的时候就结束了,所以这个实际上正向的分析就是2的n次方等于我们的n求解这个执行的次数,就是以2为底的n的对数,我们的这个选项里面的这个log n实际上是把这个底数省略了;

image-20250102182206208


下面的这个是双层循环:外面是执行了log n次,里面是执行的n次,两个的乘积就是我们的程序段的这个时间复杂度;

image-20250102182758045


上面的题目都是数据结构的基础的题目,下面的这个题目还算是有些可以考察的点:但是这个实际上还是我们的这个等差数列求和,最后的结果是n,所以相当于是平方等于n所以这个时间复杂度就是根号n;

image-20250102183035872


下面的这个题目更加有趣了,也是我认为很有难度的题目,我第一次就做错了:首先这个i层是每一次乘上2,这个次数就是log n对吧,里面的执行的次数取决于我们的i,实际上这个就是等比数列;

i=1的时候,这个里面相当于就是2的0次方,然后i=2,里面就是2的一次方,以此类推,这个就是我们的等比数列的求和公式的使用,最后等比求和应该是2^n量级把,但是这个n取决于我们的这的外层,外层是我们的log n,这个指对转换之后就是O(n)数量级(非常有考察点的一个题目);

后i=2,里面就是2的一次方,以此类推,这个就是我们的等比数列的求和公式的使用,最后等比求和应该是2^n量级把,但是这个n取决于我们的这的外层,外层是我们的log n,这个指对转换之后就是O(n)数量级(非常有考察点的一个题目);

image-20250102184347120

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

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

相关文章

小程序发版后,强制更新为最新版本

为什么要强制更新为最新版本? 在小程序的开发和运营过程中,强制用户更新到最新版本是一项重要的策略,能够有效提升用户体验并保障系统的稳定性与安全性。以下是一些主要原因: 1. 功能兼容 新功能或服务通常需要最新版本的支持&…

GRAPE——RLAIF微调VLA模型:通过偏好对齐提升机器人策略的泛化能力(含24年具身模型汇总)

前言 24年具身前沿模型大汇总 过去的这两年,工作之余,我狂写大模型与具身的文章,加之具身大火,每周都有各种朋友通过CSDN私我及我司「七月在线」寻求帮助/指导(当然,也欢迎各大开发团队与我司合作共同交付&#xff09…

0xc0000020错误代码怎么处理,Windows11、10坏图像错误0xc0000020的修复办法

“0xc0000020”是一种 Windows 应用程序错误代码,通常表明某些文件缺失或损坏。这可能是由于系统文件损坏、应用程序安装或卸载问题、恶意软件感染、有问题的 Windows 更新等原因导致的。 比如,当运行软件时,可能会出现类似“C:\xx\xxx.dll …

pycharm+anaconda创建项目

pycharmanaconda创建项目 安装: Windows下PythonPyCharm的安装步骤及PyCharm的使用-CSDN博客 详细Anaconda安装配置环境创建教程-CSDN博客 创建项目: 开始尝试新建一个项目吧! 选择好项目建设的文件夹 我的项目命名为:pyth…

基于Pytorch和yolov8n手搓安全帽目标检测的全过程

一.背景 还是之前的主题,使用开源软件为公司搭建安全管理平台,从视觉模型识别安全帽开始。主要参考学习了开源项目 https://github.com/jomarkow/Safety-Helmet-Detection,我是从运行、训练、标注倒过来学习的。由于工作原因,抽空…

【PDF物流单据提取明细】批量PDF提取多个区域内容导出表格或用区域内容对文件改名,批量提取PDF物流单据单号及明细导出表格并改名的技术难点及小节

相关阅读及下载: PDF电子物流单据: 批量PDF提取多个区域局部内容重命名PDF或者将PDF多个局部内容导出表格,具体使用步骤教程和实际应用场景的说明演示https://mp.weixin.qq.com/s/uCvqHAzKglfr40YPO_SyNg?token720634989&langzh_CN扫描…

JavaWeb开发(五)Servlet-ServletContext

1. ServletContext 1.1. ServletContext简介 1.1.1. ServletContext定义 ServletContext即Servlet上下文对象,该对象表示当前的web应用环境信息。 1.1.2. 获取ServletContext对象: (1)通过ServletConfig的getServletContext()方法可以得到…

长时间序列预测算法---Informer

目录 一、传统的 Transformer 模型二、Informer原理2.1 Attention计算2.2 “积极”的Q筛选2.2.1 KL散度2.2.2 “懒惰”的q处理 2.3 Encoder结构2.4 Decoder结构2.4.1 Transformer的Decoder操作2.4.2 Informer的Decoder操作 2.5 Informer模型的改进 三、模型应用 时间序列相关参…

点击取消按钮,console出来数据更改了,页面视图没有更新

点击取消按钮,console出来数据更改了,页面视图没有更新 前言 实现效果:点击取消按钮,页面视图全部为空, 遇到的问题: 点击取消按钮,console出来数据更改了,SchemaJson 都是默认值啦…

RFID手持机与RFID工业平板在仓储物流管理系统中的选型

概述 随着物联网技术在仓储物流管理系统中的普及,RFID手持机与RFID工业平板作为基于RFID技术手持式读写器的两种重要终端设备形态,得到了广泛应用。尽管RFID手持机与RFID工业平板都具备读写 RFID标签的基本功能,使用场景较为类似&#xff0c…

UML之泛化、特化和继承

在UML(统一建模语言)中,泛化(Generalization)和特化(Specialization)是面向对象思想中继承(Inheritance)关系的重要概念,它们描述类与类(或用例与…

vue 修改vant样式NoticeBar中的图标,不用插槽可以直接用图片

使用文档中是可以直接使用图片链接的 :left-icon"require(../../assets/newImages/noticeImg.png)" <html> .... <NoticeBarmode""color"#C6C6C6"background""v-if"global_info.site_bulletin":left-icon"r…

【漫话机器学习系列】028.CP

Mallows’ Cp&#xff1a;标准化公式解析与应用 Mallows’ Cp 是一种常用的模型选择工具&#xff0c;用于在一系列候选模型中权衡拟合度和复杂性&#xff0c;帮助我们选择性能最优的模型。本文将基于其标准化公式展开详细解析&#xff0c;并探讨其应用场景、实现方法、优点与局…

vs 2022 中xml 粘贴为Class 中,序列化出来的xml 的使用

上图是visual studio 2022 中使用的粘贴功能的菜单位置 在生成的xml 中&#xff0c;有些是类似如下类型的 [System.Serializable] [System.Xml.Serialization.XmlType] public class Item {private bool isVisibleField;private bool isVisibleFieldSpecified;[System.Xml.Se…

数据库自增 id 过大导致前端时数据丢失

可以看到&#xff0c;前端响应参数是没有丢失精度的 但是在接受 axios 请求参数时出现了精度丢失 解决方案一&#xff1a;改变 axios 字符编码 axios.defaults.headers[Content-Type] application/json;charsetUTF-8; 未解决 解决方案二&#xff1a;手动使用 json.parse() …

STM32-笔记19-串口打印功能

复制项目文件夹03-流水灯&#xff0c;重命名为19-串口打印功能 打开项目 在主函数中&#xff0c;添加头文件、和串口初始化函数&#xff08;设置波特率&#xff09;和输出函数&#xff0c;如图所示&#xff1a; 软件部分就设置好了 下面是硬件部分 接线&#xff1a;使用USB…

GPU 进阶笔记(四):NVIDIA GH200 芯片、服务器及集群组网

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 1 传统原厂 GPU 服务器&#xff1a;Intel/AMD x86 CPU NVIDIA GPU2 新一代原厂 GPU 服务器&#xff1a;NVIDIA CPU NVIDIA GPU 2.1 CPU 芯片&#xff1a;Grace (ARM)2.2 GPU 芯片&#xff1a;Hopper/B…

黑马Java面试教程_P10_设计模式

系列博客目录 文章目录 系列博客目录前言1. 工厂方法模式1.1 概述1.2 简单工厂模式1.2.1 结构1.2.2 实现1.2.3 优缺点 1.3 工厂方法模式1.3.1 概念1.3.2 结构1.3.3 实现1.3.4 优缺点 1.4 抽象工厂模式1.4.1 概念1.4.2 结构1.4.3 实现1.4.4 优缺点1.4.5 使用场景 总结&#xff0…

RSA e与phi不互质(AMM算法进行有限域开根)

e与phi不互质 这一部分学习来自trup师傅的博客 针对CTFer的e与phi不互素的问题 - 跳跳糖 1&#xff1a;m^t<n from Crypto.Util.number import * from secret import flag flag bflag{*********} m bytes_to_long(flag) p getPrime(1024) q getPrime(1024) n p * q …

计算机体系结构期末复习3:GPU架构及控制流问题

目录 一、GPU设计思路 1.简化流水线、增加核数 2.单指令多线程&#xff08;SIMT&#xff09; 3.同时驻留大量线程 4.总思路&#xff1a;多线程单指令多线程 二、GPU的控制流问题 1.什么是控制流问题 2.怎么应对分支分歧 一、GPU设计思路 1.简化流水线、增加核数 2.单指…