数据结构--数据结构的基本概念

news2024/11/8 1:45:28

数据结构–数据结构的基本概念

知识总览:

在这里插入图片描述

数据结构的三要素

数据结构的三要素
逻辑结构
物理结构 or 存储结构
数据的运算

数据的逻辑结构:

集合

线性结构

树型结构

图形结构

数据的存储结构

数据结构的三要素
逻辑结构
物理结构 or 存储结构
数据的运算

ps:链式存储、索引存储、散列存储统称为 非顺序存储 \color{red}{非顺序存储} 非顺序存储

顺序存储

逻辑上相邻的元素存储在物理位置上也相邻的存储单元中 \color{red}{逻辑上相邻的元素存储在物理位置上也相邻的存储单元中} 逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

链式存储

逻辑上相邻的元素在物理位置上可以不相邻 \color{red}{逻辑上相邻的元素在物理位置上可以不相邻} 逻辑上相邻的元素在物理位置上可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。

用指针表示下一个数据元素的存储地址

索引存储

在存储元素信息的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项的一般形式是(关键字、地址)

散列存储

根据元素的关键字直接计算出该元素的存储地址,又称 哈希 ( H a s h ) 存储 \color{red}{哈希(Hash)存储} 哈希(Hash)存储
ps:第六章,散列表 再介绍

总结

  1. 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的。
  2. 数据的存储结构会影响存储空分配的方便程度。
    eg:插队
  3. 数据的存储结构会影响对数据运算的速度。
    eg:查看第7个元素的值

数据运算

数据的运算–施加在数据上的运算包括运算的定义和实现。 运算的定义 \color{red}{运算的定义} 运算的定义 针对逻辑结构 \color{red}{针对逻辑结构} 针对逻辑结构的,指出运算的功能; 运算的实现 \color{red}{运算的实现} 运算的实现 针对存储结构 \color{red}{针对存储结构} 针对存储结构的,指出运算的具体操作步骤。

eg:

逻辑结构 – 线性结构(队列)
结合实现需求 定义 \color{red}{定义} 定义队列这种逻辑结构的运算:

  1. 队头元素出列;
  2. 新元素入队;
  3. 输出队列长度;
    … …

数据类行、抽象数据类型

数据类型是一个值的集合和定义在此集合上的一组操作的总称。
1) 原子类型:其值不可以再分的数据类型
eg:
bool:
取值范围:True or False
可进行操作:与、或、非 …
int:
取值范围: -2147483648 ~2147483647
可进行操作:加、减、乘、除、模运算 …
2)结构类型:其值可以再分解为若干成分(分量)的数据类型。
eg:
定义一个具体的结构类型,表示排队顾客的信息。
根据具体业务需求来确定值的范围,可进行的操作
值的范围: num ( 1~9999) , people (1~12)
可进行操作:如“拼桌”运算,把人数相加合并

struct Customer
{
	int num;	//餐号
	int people;	//就餐人数
	... ...		//其他信息
}

抽象数据类型(Abstract Data Type,ADT)是抽象数据组织及与之相关的操作。
ps:ADT用数学化的语言定义数据的逻辑结构、定义运算。与具体的实现无关。

数据结构的三要素
逻辑结构
物理结构 or 存储结构
数据的运算

知识回顾与考点

数据结构
基本概念
数据
数据元素 and 数据项
数据对象 and 数据结构
数据类型 and 抽象数据类型 ADT
三要素
逻辑结构
物理结构 or 存储结构
数据运算

ps:
定义一个ADT,就是定义了数据的逻辑结构、数据的运算。也就是定义了一个数据结构。

确定一种存储结构,就意味着在计算机中表示出数据的逻辑结构。存储结构不同,也会导致运算的具体实现不同。确定了存储结构,才能实现数据结构

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

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

相关文章

软件测试已经人员饱和了?是否选择退出这个行业?

铺天盖地的职场内卷文章充斥我们眼球,给大家带来山大压力,内心焦虑。据闻,2023年有1070万高校应届毕业生涌入用人市场,其中有多少人将卷入软件测试行业呢?而最近大厂毕业之风盛行,对外输出人才,…

从小白到大神之路之学习运维第46天---第三阶段----Ceph分布式存储系统(CentOS7.9版本下安装部署ceph)

第三阶段基础 时 间:2023年6月25日 参加人:全班人员 内 容: Ceph分布式存储系统 目录 一、Ceph概述 二、Ceph 的工作原理和工作流程 三、Ceph 组件包括 1. RADOS 2. OSD 3. MON 4. MDS 5. RGW 6. RBD 7. CephFS 四、安装部…

文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题

五、一个已排好序的数组是一个最小堆吗? 文心一言: 一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其父节点 y 的值都小于等于 x 的值。而一个已排好序的数组只是一个有序数…

【FFmpeg实战】压缩数据AVPacket解析

因为FFmpeg更新的比较快,API也会跟着有所变动,所以声明一下,本文使用的FFmpeg版本为V3.3.5。 1.AVPacket简介 AVPacket是FFmpeg中很重要的一个数据结构,它保存了解复用(demuxer)之后,解码(dec…

TS格式视频的使用

什么是TS文件格式 TS(Transport Stream,传输流)是一种封装的格式,它的全称为MPEG2-TS。MPEG2-TS是一种标准数据容器格式,传输与存储音视频、节目与系统信息协议数据,主要应用于数字广播系统,例…

在加密数据时,如何选择合适的算法?

我们将分解两种主要类型的加密 - 对称和非对称 - 然后深入研究 5 种最常用的加密算法列表,以前所未有的方式简化它们 加密经常被指责为政治实体隐藏恐怖活动,是始终成为头条新闻的网络安全话题之一。任何对不同类型的加密有充分了解的人都可能会觉得对这…

内网穿透工具cpolar——将内网站点发布至公网、远程连接公司内网电脑

在现代互联的时代,我们经常需要将局域网中的服务器或提供给外部网络进行访问。然而,由于内网通常使用私有IP地址,在没有合适的配置和设置的情况下,对外部网络是不可见的。这就引出了内网穿透技术,它允许我们在不暴露真…

从三个角度分析B端产品帮助中心的发展趋势和创新思路

随着企业级(B端)产品在市场上的快速增长,优秀的帮助中心对于提升用户体验和满意度变得尤为重要。本文将从三个维度讨论B端产品帮助中心的发展趋势和创新思路,以帮助企业构建更优秀的帮助体系。 个性化化的帮助体验 在B端产品帮助…

基于瑞芯微camera学习原创文章汇总pdf分享给大家

前面一段时间基于瑞芯微3568平台编写了camera系列文章, 一共12篇,目前更新完毕。 《瑞芯微文章合集》 camera系列文章编写前后一共花费2个月时间, 期间查阅了很多资料,做了很多实验, 根据自己的理解, …

实训笔记6.25

实训笔记6.25 6.25一、座右铭二、知识回顾2.1 JavaSE2.1.1 基本语法2.1.2 数组2.1.3 JVM内存2.1.4 面向对象2.1.5 Java常用类2.1.6 Java异常机制2.1.7 Java泛型2.1.8 Java集合2.1.9 JavaIO流2.1.10 Java注解2.1.11 Java反射机制2.1.12 Java多线程2.1.13 Java网络编程 三、Java多…

利用SpringBoot和javafx进行桌面开发

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 众所周知,SpringBoot是一款强大的Javaweb开发程序,这得益于其构造了一个Spring容器,然后通过依赖注入和控制反转,维护起一套Java对象和实例的管理机制&…

Chatgpt三大新功能曝光:记住你是谁/文件上传/切换工作区

今日,一张神秘的截图,曝光了chatgpt还没发布的三个新功能: 除截图外,其对应的源代码也被扒了出来,甚至还有人为此建立了GitHub仓库,以此来追踪代码的变化情况。 根据观察,相关部分代码正在更新…

制作看大片一样的推拉镜头效果,刚一个月AI绘图神器 Midjourney 又又更新了

5.1 版本刚更新一个月,官方又宣布 5.2 版本更新了:改进的美观性、连贯性、更好的文本理解、更清晰的图像、更高的变化模式、缩小绘画,以及用于分析提示符号的新命令 /short 命令‍‍‍‍‍‍‍‍‍ 视觉效果最神奇的功能要数 “Zoom Out” 缩…

使用Rabbitmq死信队列解锁库存

一、库存解锁的场景 RabbitMQ库存解锁的场景有很多,以下是一些常见的场景: 订单取消和订单回滚。下订单成功,订单过期没有支付被系统自动取消、被用户手动取消。都要解锁库存。 下订单成功,库存锁定成功,接下来的业务…

《面试1v1》Redis持久化

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

css基础知识七:元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

一、背景 在开发中经常遇到这个问题,即让某个元素的内容在水平和垂直方向上都居中,内容不仅限于文字,可能是图片或其他元素 居中是一个非常基础但又是非常重要的应用场景,实现居中的方法存在很多,可以将这些方法分成…

3.用python写网络爬虫,下载缓存

目录 3.1 为链接爬虫添加缓存支持 3.2 磁盘缓存 3.2.1 实现 3.2.2缓存测试 3.2.3节省磁盘空间 3.2.4 清理过期数据 3.2.5缺点 3.3 数据库缓存 3.3.1 NoSQL 是什么 3.3.2 安装 MangoDB 3.3.3 MongoDB 概述 3.3.4 MongoDB 缓存实现 3.3.5 压缩 3.3.6 缓存测试 3.4 本章…

变分自编码(VAE,Variational Auto-Encoder)知识点速览

目录 1. 主要思想 2. 训练和推理过程 3. 编码器和解码器的结构 4. 主要用途 5. 相较于 auto-encoder 的优劣 1. 主要思想 变分自编码器(Variational AutoEncoder,简称VAE)是一种生成模型,它通过对数据的隐含表示(l…

红日靶场(一)外网到内网速通

红日靶场(一) 下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ win7:双网卡机器 win2003:域内机器 win2008域控 web阶段 访问目标机器 先进行一波信息收集,扫一下端口和目录 扫到phpmyadmin,还有一堆…

韶音和cleer、南卡对比哪个好?韶音、南卡、Cleer开放式耳机横评

现如今,不管是通勤路上还是在家休闲娱乐,又或者是运动时,经常能看见很多人佩戴着耳机听音乐,但是,经常佩戴耳机听音乐的小伙伴都知道,入耳式耳机佩戴久了,容易造成耳部酸痛感、胀痛感&#xff0…