408——数据结构(持续更新)

文章目录

  • 一、绪论
    • 1.1 相关概念
    • 1.2 数据结构三要素
    • 1.3 相关习题
    • 1.4 复杂度
      • 1.4.1 时间复杂度
      • 1.4.2 复杂度相关习题
  • 二、线性表

一、绪论

1.1 相关概念

  • 数据:数据是信息的载体,所有能被输入到计算机中,且能被计算机处理的符号的集合。如图片、身份信息等。
  • 数据元素和数据项数据元素是数据的基本单位数据项是构成数据元素的最小单位,一个数据集元素可有多个数据项。如:每个学生信息就是数据元素,而学生信息中包含的姓名、年龄等信息就是数据项。
  • 数据对象:具有相同性质的数据元素的集合,是数据的一个子集。如:所有学生的信息可以作为一个数据对象。
  • 数据类型:一组值的集合和定义在该集合上的操作的总和。其中有原子类型(不可再分割)、结构类型(多个原子类型值的集合)、抽象数据类型。
  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。如:在学生表中,张三拍在李四的上面,这样有相互关系的数据集合表可称为结构。

blog.csdnimg.cn/direct/1ff2c20068a64c6fab28ba5a15420973.png)

  • 数据:该表就是数据;
  • 数据元素:每个学生的信息就是数据元素,即蓝框所示部分。每行为一个数据元素,其可由多个数据项组成,数据项不可再分。
  • 数据项:如红框所示。
  • 数据对象:如黄框所示,所有学生的信息可作为数据对象;
  • 数据类型:如图中年龄为int类型。

1.2 数据结构三要素

  1. 逻辑结构
    • 线性结构:线性表、栈和队列、数组、串
    • 非线性结构:集合、树、图
  2. 物理结构(存储结构)
    • 顺序存储(逻辑相邻,实际存储位置也相邻)
      在这里插入图片描述

    • 链式存储(逻辑相邻,物理不相邻)
      在这里插入图片描述

    • 索引存储(利用附加索引表):内存中不仅仅要存放每一个数据元素,还要建立一张索引表,其中有多个索引项,每个索引项包括关键字、关键字对应的地址。
      在这里插入图片描述

    • 散列存储(哈希存储)
      在这里插入图片描述

  3. 数据的运算

1.3 相关习题

在这里插入图片描述

顺序表、链表和有序表:

  • 顺序表链表是根据线性表的存储结构(顺序或链式)来划分的概念;
  • 有序表式根据线性表的数据元素的数值大小来划分的概念。

1.4 复杂度

1.4.1 时间复杂度

  1. 常数阶:与问题规模的大小无关,执行时间恒定的算法,O(1)时间复杂度。
    在这里插入图片描述

  2. 线性阶:要确定某个算法的阶次,需要确定某个特定语句运行的次数。因此,要分析算法的时间复杂度,关键是分析循环结构的某个特定语句运行情况。下图,循环的时间复杂度为O(n),因为循环体的代码必须要执行n次。
    在这里插入图片描述

  3. 对数阶
    在这里插入图片描述

  4. 平方阶
    在这里插入图片描述

推导时间复杂度时:

  • 当运行时间只有常数时,用1代替;
  • 在得到的运行次数函数中,只【保留最高阶】,且【除去最高阶项中相乘的系数】。

1.4.2 复杂度相关习题

在这里插入图片描述

  1. 算法执行过程中,所需要的存储空间被称为算法的空间复杂度
  2. 算法的时间复杂度取决于问题规模待处理数据的初态

二、线性表

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

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

相关文章

深入浅出:开发者如何快速上手Web3生态系统

Web3作为互联网的未来发展方向,正在逐步改变传统互联网架构,推动去中心化技术的发展。对于开发者而言,Web3代表着一个充满机遇与挑战的新领域,学习和掌握Web3的基本技术和工具,将为未来的项目开发提供强大的支持。那么…

C++学习日记---第16天

笔记复习 1.C对象模型 在C中,类内的成员变量和成员函数分开存储 我们知道,C中的成员变量和成员函数均可分为两种,一种是普通的,一种是静态的,对于静态成员变量和静态成员函数,我们知道他们不属于类的对象…

Leetcode 每日一题 205.同构字符串

目录 问题描述 过题图片 示例 解决方案 代码实现 题目链接 总结 问题描述 给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t,那么这两个字符串是同构的。具体来说,每个出现的字符都应当映射…

C# 集合(Collection)

文章目录 前言一、动态数组(ArrayList)二、哈希表(Hashtable)三、排序列表(SortedList)四、堆栈(Stack)五、队列(Queue)六、点阵列(BitArray&…

2.5 特征降维(机器学习)

2.5 特征降维 2.5.1 降维 降维:是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程。 ndarray 维数 嵌套的层数 0维 标量 1维 向量 2维 矩阵 3维 n维 二维数组 降低的维度…

【小白学机器学习41】如何从正态分布的总体中去抽样?比较不同的取样方差的差别

目录 1 目标:使用2种方法,去从正态分布的总体中去抽样,获得样本 1.1 step1: 首先,逻辑上需要先有符合正态分布的总体population 1.2 从总体中取得样本,模拟抽样的过程 2 从正态分布抽样的方法1 3 从正态分布抽样…

框架5:SpringBoot 2 - 核心功能

SpringBoot2 - 基础入门【一 ~ 五】,详见: 六、配置文件 6.1 properties文件格式 同之前的用法。 6.2 yaml文件格式【推荐】 YAML本意:“YAML”不是一种标记语言。但在开发中,实际把它理解为:“Yet Another Markup Lan…

行为型设计模式之《责任链模式》实践

定义 责任链模式(Chain Of Responsibility Pattern)顾名思义,就是为请求创建一条处理链路,链路上的每个处理器都判断是否可以处理请求,如果不能处理则往后走,依次从链头走到链尾,直到有处理器可…

Vue前端开发-路由树配置

一个配置路由的文件由导入路由模块、创建路由对象和导出路由对象三个部分组成,在创建路由对象时,需要构建路由数组,路由数组中包括一级、二级和多级路由结构,因此,这种结构的路由配置,又称为路由树配置。 …

2.mysql 中一条更新语句的执行流程是怎样的呢?

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。 相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又…

JavaScript根据数据生成柱形图

分析需求 // 定义一个数组来存储四个季度的数据 dataArray = []// 循环4次,获取用户输入的数据并存储到数组中 for i from 0 to 3// 获取用户输入的数据inputData = 获取用户输入的第(i + 1)季度的数据// 将数据存入数组dataArray[i] = inputData// 遍历数组,根据数据生成柱…

实验13 使用预训练resnet18实现CIFAR-10分类

1.数据预处理 首先利用函数transforms.Compose定义了一个预处理函数transform,里面定义了两种操作,一个是将图像转换为Tensor,一个是对图像进行标准化。然后利用函数torchvision.datasets.CIFAR10下载数据集,这个函数有四个常见的…

【AI系统】代数简化

代数简化 代数简化(Algebraic Reduced)是一种从数学上来指导我们优化计算图的方法。其目的是利用交换率、结合律等规律调整图中算子的执行顺序,或者删除不必要的算子,以提高图整体的计算效率。 代数化简可以通过子图替换的方式完…

多人聊天室项目 BIO模型实现

BIO模型聊天室项目大体设计 BIO编程模型 Acceptor是服务器端负责监听具体端口的Socket每有一个客户端Client连接到服务器端,Acceptor就创建一个新的线程Handler来处理客户端发送的消息每一个客户端都有一个唯一的Handler来对应处理其事务为保证线程安全&#xff0c…

腾讯云平台 - Stable Diffusion WebUI 下载模型

1)进入控制台,点击算力连接 》 JupyterLab 2)进入模型目录(双击) 3)上传模型 例如:我要上传大模型

夜神模拟器+Charles+postern+Mgisk+TrustMeAlready实现抓包

[实测有用]夜神模拟器CharlesposternMgiskTrustMeAlready实现抓包 PS:此贴仅做为技术交流,禁止非法用途。 1.初始化条件 A.安装MUMU模拟器安卓12版本 B.按图示选择,设置好代理端口8889 C.查看本机IP地址 D.导出证书,安装配置,暂时保存…

【closerAI ComfyUI】物体转移术之图案转移,Flux三重控制万物一致性生图,实现LOGO和图案的精准迁移

更多AI前沿科技资讯,请关注我们:closerAI-一个深入探索前沿人工智能与AIGC领域的资讯平台 closerAIGCcloserAI,一个深入探索前沿人工智能与AIGC领域的资讯平台,我们旨在让AIGC渗入我们的工作与生活中,让我们一起探索AIGC的无限可能性! 【closerAI ComfyUI】物体转移术之图…

新质驱动·科东软件受邀出席2024智能网联+低空经济暨第二届湾区汽车T9+N闭门会议

为推进广东省加快发展新质生产力,贯彻落实“百县千镇万村高质量发展工程”,推动韶关市新丰县智能网联新能源汽车、低空经济与数字技术的创新与发展,充分发挥湾区汽车产业链头部企业的带动作用。韶关市指导、珠三角湾区智能网联新能源汽车产业…

vue+mars3d给影像底图叠加炫酷效果

话不多说,直接上效果图: 在这里墙体其实是有一个不太明显的流动效果 实现方式:这里我使用了PolylineEntityWallPrimitive,开始我用的是polygonEntity但是发现实现效果并不好,所有直接改用了线 map.vue文件&#xff1…

【模电】常见电路参数计算

1.恒流源输出电阻 2.射极电压跟随器输出电阻 3.差分放大电路 3.1差模特性 3.1.1差模输入电阻Rid 3.1.2差模输出电阻Ro 3.1.3差模电压增益Avd 3.2共模特性 3.2.1共模输入电阻Ric 3.2.2共模电压增益Avc 4.组合放大电路 4.1单级放大器 4.1.1微变等效电路 4.1.1.1共射级 4.1.…