【数据结构】浅谈

✨✨✨专栏:数据结构     

          🧑‍🎓个人主页:SWsunlight

目录

一、概念:

二、物理结构:

1、顺序存储结构:

2、链式存储结构:

3、数据索引存储结构:

4、数据散列存储结构:

三、不同的数据结构的相同操作


一、概念:

        数据结构计算机存储、组织数据的的一种方式指相互之间存在一种多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么方式构成,以及数据元素之间呈现的结构(关系)。

数据结构往往同高效的检索算法和索引技术有关

将数据结构拆分成“结构”“数据”:

  • “数据”(Data):
  • 数据:信息的载体,描述客观事物的符号(可以是数值非数值
  • 数据元素:组成数据的,有一定意义的基本单位。(数据(集合)中的一个"个体"(又可称为元素、结点、顶点、记录等)
  • 数据项:一个数据元素可以有多个数据项。
    • 初等项:数据项在数据处理时不能再分割的最小单位
    • 组合项:可以在改项的基础上再分割
  • 数据对象:具有相同特性的数据元素的集合

举个例子:以学籍系统中为列

数据:将所有学生信息收集起来(集合在一起)

数据对象:学生记录

数据元素:关于一个学生的记录就是一个数据元素

数据项:一个学生的记录(数据元素)可以拆分为:身份证,学号,籍贯,姓名,性别,成绩,出生年月日等多个数据项        

初等项:姓名,性别,籍贯已经不能再分割了,也就是最小基本单位

组合项:成绩的话还可以细分到到具体学科


  • “结构”:
  • 结构:组织数据的方式(数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构(Structure))
  • 逻辑结构:数据对象中数据元素之间的相互关系(考虑这个问题的逻辑关系)
    • 图形结结构:数据结构中的元素存在多对多的相互关系。
    • 树形结构:   数据结构中的元素存在一对多的相互关系。
    • 集合结构:集合中的元素除了同属于一个集合之外,没有其他关系。
    • 线性结构:线性结构中的数据元素之间是一对一的关系。
  • 存储结构(物理结构):
    • 顺序存储结构:
    • 链式存储结构:
    • 数据索引存储结构:
    • 数据散列存储结构:

逻辑结构  面向问题的,而物理结构  就是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存。 

二、物理结构:

数据的逻辑结构在计算机存储空间的存放形式被称为数据的物理结构。

1、顺序存储结构:

逻辑上相邻的结点存储在物理位置上相邻的存储单元里,节点之间的逻辑关系由存储单元的相邻关系来体现:计算机用一组连续的存储单元来存放数据()

特点:

1、随机存储表中的元素(随机访问)

2、插入和删除操作时,需要移动元素(效率低),大小固定(想要更大的空间,需要扩容)

2、链式存储结构:

计算机中用任意的存储单元存储线性表的数据元素(可以是连续的存储单元,也可以是不连续的存储单元);对于逻辑上连续的的节点,并不会硬性要求在物理位置上也是连续的。

特点:

1、大小动态扩展,插入删除效率高。

2、不能随机访问。

3、数据索引存储结构:

(后面补充)

4、数据散列存储结构:

后面再进行补充

三、不同的数据结构的相同操作

虽然不同数据结构操作集不同,但是都必须具备以下操作:

1,结构的生成;
2.结构的销毁;
3,在结构中查找满足规定条件的数据元素;
4,在结构中插入新的数据元素;
5,删除结构中已经存在的数据元素;
6,遍历;

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

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

相关文章

现代制造之Cura切片

现代制造 有现代技术支撑的制造业,即无论是制造还是服务行业,添了现代两个字不过是因为有了现代科学技术的支撑,如发达的通信方式,不断发展的互联网,信息化程度加强了,因此可以为这两个行业增加了不少优势…

手把手教你用 spacy3 训练中文NER

文章目录 模型文件下载训练模型准备数据转化成 doc_bin 格式模型训练配置生成初始配置补全完整配置 开始训练 测试模型参考文献 模型文件下载 https://github.com/explosion/spacy-models/releases?qzh&expandedtrue 简单测试一下ner效果,发现根本不能用 训…

关于‘==’与equals的区别

我写的也不清楚,有兴趣的可以看这位大佬的文章链接,说的很清楚 https://www.cnblogs.com/Latiny/p/8099581.html#!comments 与 equals 方法 判断两个变量是否相等有两种方式:一种是利用 运算符,另一种是利用equals方法。 注意…

C#语音播报(通过CoreAudioAPI完成对扬声器的控制)

1,效果: 作用: 可对当前内容(例如此例中的重量信息)进行语音合成播报 。可设置系统扬声器音量与状态(是否静音),同时根据扬声器状态同步更新当前控件状态与值,实现强制PC扬声器按照指定的音量进行播报&…

MATLAB的Bar3函数调节渐变色(内附渐变色库.mat及.m文件免费下载链接)

一. colormap函数 可以使用colormap函数: t1[281.1,584.6, 884.3,1182.9,1485.2; 291.6,592.6,896,1197.75,1497.33; 293.8,596.4,898.6,1204.4,1506.4; 295.8,598,904.4,1209.0,1514.6];bar3(t1,1) set(gca,XTickLabel,{300,600,900,1200,1500},FontSize,10) set…

baomidou dynamic-datasource 强制查询sql走主库

场景 因为引用了baomidou主从数据源&#xff0c;因为业务场景特殊&#xff0c;需要查询语句强制走主库&#xff0c;把解决方案分享出来&#xff0c;帮助大家少走弯路 pom依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-data…

智慧园区能耗管控系统,3D可视化开发都需要哪些技术栈?

数据可视化&#xff1a; 数据可视化是将数据通过图表、图形、地图等可视化方式展示&#xff0c;使得数据更加直观、易于理解和分析。在智慧园区能耗管控系统中&#xff0c;可以使用各种图表库&#xff08;如Echarts、Highcharts&#xff09;和可视化工具&#xff08;如Tableau…

MES系统与WMS集成方法(满分100学习资料)

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载 这份文件是关于MES系…

全双工与半双工技术解析及其应用场景

随着信息技术的迅猛发展&#xff0c;通信系统的性能要求日益提高。在数据传输中&#xff0c;双工模式的选择对于提高系统效率、降低通信延迟具有重要意义。本文将对全双工和半双工两种双工模式进行详细解析&#xff0c;并探讨它们各自的优缺点及适用场景。 一、全双工模式 全…

常见排序算法——希尔排序

基本原理 希尔排序在插入排序的基础之上&#xff0c;将待排序序列分成组&#xff0c;分成 gap 个组&#xff0c;组的数量通过 length / 2 获得&#xff0c;比如6个元素的序列&#xff0c;那么就是 3 个组&#xff0c;每个组两个元素&#xff0c;然后将每个组的元素进行插入排…

ECharts系列:基本使用及配置项

目录 基本使用 配置项的写法与位置 配置项option包含属性 各个配置项属性大全 基本使用 在阅读本篇文章时请参考ECharts官网地址中的内容配合了解 首先我们知道ECharts图表中有许多类型&#xff0c;如折线图、柱状图、饼形图等&#xff0c;下面我以折线图为例讲解ECharts图…

MacOS安装Go

下载 Go 安装包&#xff1a; 访问 Go 官方网站的下载页面&#xff0c;找到适合 macOS 系统的 Go 安装包&#xff0c;并下载 go1.20.2.darwin-amd64.pkg&#xff08;假设你的 macOS 是 64 位系统&#xff09;。 安装 Go&#xff1a; 打开下载的安装包 go1.20.2.darwin-amd64.pk…

程序设计实践-课程设计任务布置(麦当劳) (price 200)(不包含文档)

WX: help-assignment code price 200&#xff08;不包含文档&#xff01;不包含文档&#xff01;不包含文档&#xff01;&#xff09; 课题任务-概述 2023年5月&#xff0c;麦当劳在北邮开业。大量的学生去那里订餐。正因为如此&#xff0c;麦当劳的在线点餐系统经常关闭以避…

文本检测模型 DBNet 一种基于分割算法的模型 对每个像素点进行自适应二值化,并将二值化过程与网络训练相结合 可微分二值化模块 概率图

文本检测模型 DBNet DBNet文本检测模型是一种基于分割算法的模型,其优化之处在于对每个像素点进行自适应二值化,并将二值化过程与网络训练相结合。 传统的文本检测方法通常将二值化作为一个后处理步骤,与网络训练分开进行。而DBNet则提出了一种可微分的二值化方法,即将文…

【全开源】Java同城预约月嫂服务上门服务本地服务源码APP+小程序+公众号+H5

特色功能&#xff1a; 预约服务&#xff1a;用户可以通过小程序在线预约月嫂服务&#xff0c;选择服务时间、服务类型、月嫂等信息&#xff0c;实现方便快捷的预约流程。在线咨询&#xff1a;用户可以通过小程序向月嫂或服务机构咨询相关问题&#xff0c;获得专业的解答和建议…

Linux修炼之路之基础指令(2)+shell命令及运行原理

目录 一&#xff1a;基础指令 7.rm指令 和 rmdir指令 8.*通配符 9.man指令 10.echo指令 11.cat 指令 12.cp 指令 13.mv指令 14.alias 指令 15.less more head tail wc-l 指令 16.date 时间相关的指令 17.cal指令 18. find which whereis 三个查找文件指令…

写SQL的心得

1、统计 COUNT&#xff08;列名&#xff09; 和COUNT&#xff08;*&#xff09;均可&#xff0c;区别是前者只会统计非NULL。 2、where后面不能跟聚合函数&#xff0c;用的话应该在Having使用&#xff0c;因此需要先分组GroupBy where是基于行过滤&#xff0c;having是基于分…

【全开源】Java俱乐部系统社区论坛商城系统源码-奔驰奥迪保时捷大众宝马等汽车俱乐部

特色功能&#xff1a; 会员中心&#xff1a;会员中心可以帮助企业更好地管理客户&#xff0c;包括设置积分商城、会员卡充值、个人汽车档案等功能&#xff0c;对不同的会员群体展开有针对性的营销&#xff0c;并维护和积累自己的粉丝群体。信息服务&#xff1a;负责定期发布新…

关于在ubuntu18.04中运行ORB_SLAM3时遇到的报错:段错误(核心已转储)的解决方法(踩坑记录)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、段错误&#xff08;核心已转储&#xff09;1. 已放弃(核心已转储)(1) 问题描述(2)原因分析 二、解决方法1. 解决方法一2. 解决方法二 总结 一、段错误&#xff…

【硬件模块】ESP-01SWiFi模块基于AT指令详解(WiFi,TCP/IP,MQTT)

ESP-01S ESP-01S是由安信可科技开发的一款Wi-Fi模块。其核心处理器是ESP8266&#xff0c;该处理器在较小尺寸的封装中集成了业界领先的Tensilica L106超低功耗32位微型MCU&#xff0c;带有16位精简模式&#xff0c;主频支持80MHz和160MHz&#xff0c;并集成了Wi-Fi MAC/BB/RF/P…