【数据结构】数据结构的基本概念

news2024/11/26 21:30:41

文章目录

  • 思维导图
  • 数据结构的基本概念和术语
  • 数据结构三要素
    • 逻辑结构
    • 存储结构
    • 数据的运算
  • 重要知识
  • 总结


思维导图

在这里插入图片描述


数据结构的基本概念和术语

  • 数据:数据是信息的载体。是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
  • 数据元素:是数据的基本单位。一个数据元素是可以由多个数据项组成。数据项是构成数据元素的不可分割的最小单元。
  • 数据对象:具有相同性质的数据元素的集合,是数据的一个子集。
  • 数据类型:一个值的集合和定义在此集合上的一组操作的总称。有原子类型、结构类型、抽象数据类型。
  • 数据结构:结构是数据元素相互之间的关系。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。分为逻辑结构、存储结构、数据的运算。

数据结构三要素

逻辑结构

逻辑结构指数据之间的逻辑关系,从逻辑关系上描述数据,与数据的存储无关。
在这里插入图片描述

存储结构

数据的存储结构指数据结构在计算机中的表示,也称物理结构,包括关系的表示和数据元素的表示。分为顺序存储、链式存储、索引存储、散列存储(哈希存储)。

  • 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的
  • 数据的存储结构影响存储空间分配的方便程度
  • 数据的存储结构影响对数据的运算速度

在这里插入图片描述

数据的运算

施加在数据上的运算包括运算的定义与实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
在这里插入图片描述

重要知识

  1. 可以用抽象数据类型定义一个完整的数据结构。
  2. 在存储数据时,通常不仅要存储各数据元素的值,而且要存储数据元素之间的关系。
  3. 数据的逻辑结构独立于其存储结构。
  4. 链式存储设计时,结点内的存储单元地址一定连续。
  5. 对于两种不同的数据结构,它们的逻辑结构和物理结构有可能相同。比如二叉树和二叉排序树,二叉排序树可以采用二叉树的逻辑表示和存储方式,前者通常用于表示层次关系,后者通常用于排序和查找。虽然它们的运算都有建立树、插入结点、删除结点和查找结点等功能,但对于二叉树和二叉排序树,这些运算的定义是不同的。
  6. 线性表既可以用顺序存储方式实现,又可以用链式存储方式实现。在顺序存储方式下,在线性表中插入和删除元素,平均要移动近一半的元素,时间复杂度为O(n);而在链式存储方式下,插入和删除的时间复杂度都是O(1)。

总结

以上就是今天的学习内容啦~
如果有兴趣的话可以订阅专栏,持续更新呢~
咱们下期再见~
在这里插入图片描述

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

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

相关文章

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 12 日论文合集)

文章目录 一、检测相关(7篇)1.1 3D detection of roof sections from a single satellite image and application to LOD2-building reconstruction1.2 Towards exploring adversarial learning for anomaly detection in complex driving scenes1.3 Unveiling the invisible: …

探索嵌入式系统:初学者必知的核心概念解析

探索嵌入式系统:初学者必知的核心概念解析 嵌入式系统是指嵌入在其他设备或系统中的特定目的的计算机系统。它们通常用于控制、监测或执行特定任务,例如汽车的引擎控制单元、智能手机的操作系统或家电中的微控制器。对于初学者来说,以下是一…

Android自动化测试中如何处理各种弹窗

目录 弹窗的种类: APP内的业务弹窗 弹窗处理 watcher的使用 实战案例 总结: 在UI自动化测试中弹窗是影响自动化用例稳定性的一大因素,如何方便快捷的处理各种情况下的弹窗,是搞UI自动化测试必须要面临的问题. 弹窗的种类: 安装APP时的…

MySQL事务 | 隔离级别 | 数据一致性

文章目录 简介一、事务并发问题1. 脏读(Dirty Read)2. 不可重复读(Non-repeatable Read)3. 幻读(Phantom Read)幻读和不可重复读的区别 二、事务隔离级别1. 回顾事务2. 事务级别3. 特点和优缺点 三、事务隔…

科研笔记:一些有用的网站整理(更新中)

1 论文整理网站 整理AI相关领域的一些综述GitHub - KaiyuanGao/AI-Surveys: 整理AI相关领域的一些综述时间序列的paper/code汇总GitHub - qingsongedu/awesome-AI-for-time-series-papers: A professional list of Papers, Tutorials, and Surveys on AI for Time Series in t…

OpenSource - Spring Startup Ananlyzer

文章目录 🚀Optimization of Spring Startup核心能力📈Spring应用启动数据采集报告应用启动时长优化 📈Spring应用启动数据采集报告安装jar包配置项应用启动自定义扩展 🚀应用启动时长优化支持异步化的Bean类型接入异步Bean优化 开…

idea配置类注解和方法注解最详细教材

1.配置类注释 点击setting 方法一: 1.按照要求添加下图中的模板 /*** Author: aaa* Date: ${YEAR}/${MONTH}/${DAY}* Description: */ 2.勾选下面的两个勾后点击apply 方法二: 我们看到了在刚刚那个模板中有这样一句话 这句话是表示创建项目的时候会…

CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制

近期,CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制。 无人机行业在过去几年里取得了迅猛发展,大疆是全球领先的无人飞行器控制系统及无人机解决方案的研发商和生产商,客…

2023年网页设计制作工具盘点

过去,专业人员使用HTMLL、CSS、Javascript等代码手动编写和构建网站。现在有越来越多的智能网页制作工具来帮助任何人实现零代码基础,随意建立和设计网站。在本文中,我们将向您介绍2023年流行的网页制作工具。 1.即时设计 即时设计是一款UI…

​python接口自动化(三十一)--html测试报告通过邮件发出去——下(详解)​

简介  本篇总结了 QQ (SSL)邮箱和 163(非SSL) 邮箱发送邮件,专治各种不行,总之看完这篇以后麻麻再也不用担心我的邮件收不到了。以下代码兼容 python2 和 python3,运行无异常,放心大…

Jmeter脚本参数化和正则匹配

目录 一、参数化 1.用户定义的变量 2.CSV数据文件设置 3.用户参数 二、正则提取 1.JSON提取器 2.正则表达式提取器 我们在做接口测试过程中,往往会遇到以下几种情况 每次发送请求,都需要更改参数值为未使用的参数值,比如手机号注册、…

python爬虫_requests获取小黄人表情保存到文件夹

文章目录 ⭐前言💖 requests简介(发送请求)💖 urlretrieve简介(下载远程图片)💖 获取图片的接口保存到本地💖 加餐环节:前端vue3antd展示图片 ⭐结束 ⭐前言 大家好&…

Hightopo 使用心得(4)- 3D 场景 Graph3dView 与 Obj 模型

在前一篇文章《Hightopo 使用心得(3)- 吸附与锚点》中,我们在结尾处提到过 HT 的 3D 场景。这里我们通过代码建立一个 3D 场景并添加一个 Obj 模型来介绍一下 HT for Web 在 3D 场景和模型加载方面的使用。 这是我们最终实现的效果&#xff…

vue3使用monaco-editor插件,报错Unexpected usage

在使用monaco-editor插件的时候,运行时没有报错,打开页面报如上错误,可以关掉,但是页面变了 还会再出现,上网找了一圈报错,是因为插件引入时产生的问题 原来的 import * as Monaco from monaco-editor更改…

论文笔记--TinyBERT: Distilling BERT for Natural Language Understanding

论文笔记--TinyBERT: Distilling BERT for Natural Language Understanding 1. 文章简介2. 文章概括3 文章重点技术3.1 Transformer Distillation3.2 两阶段蒸馏 4. 数值实验5. 文章亮点5. 原文传送门6. References 1. 文章简介 标题:TinyBERT: Distilling BERT fo…

Java四个月学不学的会?我分享一下我的经历来告诉你

先说结论,java培训 四个月一般是能达到能上手工作的水平的,但是高中毕业就算了。高中毕业哪怕你能上手工作了,需求能完成了,也是大概率找不到工作的,这一行可能最看重学历的行业之一了。虽然说句实在话,就…

【Linux】基础开发工具——gcc/g++篇

文章目录 一、预处理1.1 头文件展开1.2 条件编译 二、编译三、汇编四、链接4.1 什么是库?4.2 库的分类4.3 目标文件和库是如何链接的?4.3.1 动态链接4.3.2 静态链接 4.4 动静态链接的优缺点对比 五、Debug&&release 前言 :  在前面的文章里给大…

VMware将虚拟机网络设置为NAT模式

虚拟机有vmware和desktop,本人一直使用的是vmware。安装好vmware并激活后,创建完虚拟机。(需要vmware和激活码的可留言) 进入虚拟机设置,网络适配器选择NAT模式 在虚拟机工具栏->菜单栏点击编辑,选择“虚拟网络编辑器”。 选择…

数据库应用:MySQL数据库用户管理

目录 一、理论 1.用户管理 2.授权控制 二、实验 1.数据库用户管理 2.数据库用户授权 三、总结 一、理论 1.用户管理 (1)用户信息 MySQL 中的用户信息,都存储在系统数据库 mysql 的 user 表中。 use mysql; select * from user lim…

【038】解码C++ STL:探索string容器的无限可能与鲜为人知的技巧

解码C STL:探索string容器的无限可能与鲜为人知的技巧 引言一、STL概述1.1、STL的基本概念1.2、STL的六大组件 二、string类2.1、string容器基本概念2.2、string容器常用操作2.2.1、string构造函数2.2.2、string基本赋值操作2.2.3、string存取字符操作原型2.2.4、st…