【数据结构与算法】不就是数据结构
前言
嗨喽小伙伴们你们好呀,好久不见了,我已经好久没更新博文了!之前因为实习没有时间去写博文,现在已经回归校园了。我看了本学期的课程中有数据结构这门课程(这么课程特别重要),因为之前学过一点,所以就想着深入学习一下子。毕竟这门课程对于考研和就业都有着不小得作用。如果博客写的有问题,感谢指正。话不多说,我们开始学习吧!

目录
前言
目录
一、与数据结构相关的专业名词
1.1 数据
1.2 数据元素
1.3 数据项
1.4 数据对象
二、 数据结构
2.1 数据结构的概念
2.2 数据结构的分类
2.2.1 物理结构
2.2.1.1 集合结构
2.2.1.2 线性结构
2.2.1.2 树形结构
编辑
2.2.1.2 图形结构
编辑
2.2.2 物理结构
2.2.2.2 顺序结构
2.2.2.3 链式结构
总结
一、与数据结构相关的专业名词
1.1 数据
描述客观事物的符号 ,是能直接输入到计算机中,并被计算机识别、 加工处理和存储的对象。数据既可以是数值型的数据,也可以是非数字型的数据如:图像、声音、视频等。
1.2 数据元素
数据元素是数据结构中 基本的独立单元 ,也被称为元素、结点、记录等。
1 李白 23 老板 20000000 0100-01-01 可以看做一个数据元素。
1.3 数据项
数据项是数据具有独立含义的 最小标识单位 ,也被称为字段或域。
一个数据元素由多个数据项组成。 如:" 1 李白 23 老板 20000000 0100-01-01"这个数据元素由
"1、李白 、23、老板、20000000、0100-01-01"这几个数据项组成。
1.4 数据对象
数据对象:是性质相同的数据元素的集合,是数据的子集。性质相同指的是:数据元素具有 相同数量和类型的数据项 。如上图 的信息表就是一个数据对象,它的数据由id、name、age、job、salary、entrydate、mangagerid、dept_id组成。在不产生混淆的情况下,简称数据对象为数据。
二、 数据结构
2.1 数据结构的概念
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
在计算机中,数据元素并不是孤立的、杂乱无序的,而是具有内在联系的数据集合。简单而言,数据结构就是数据元素之间的相互关系,即数据的组织形式。
2.2 数据结构的分类
数据结构分为:物理结构和逻辑结构。
2.2.1 逻辑结构
逻辑结构反映的是数据元素之间的逻辑关系,是从具体问题抽象出来的数学模型。逻辑结构可以分为四种: 集合结构、线性结构、树形结构、图形结构 。
2.2.1.1 集合结构
(1)集合结构中的数据元素 除了同属于一个集合外 ,它们之间没有其他的关系。(2)集合中的数据元素是 “ 平等 ” 的,它们的共同特点是 “ 同属于一个集合 ” 。

2.2.1.2 线性结构
线性结构中的数据元素是 一对一的关系 。类似于小火车,从火车头开始,每一节车厢都连接着下一节火车。

2.2.1.2 树形结构

图形结构有点像我们现实中的大树一样,我们可以先从树根去看,首先是特别粗壮的树根然后再往上看是树枝,然后树枝上也有可能还是树枝然后到了叶子。把我们现实中的大树倒过来看就是树形结构。在树形结构中是一对多的关系,一棵大树有着多个树枝,一个树枝对应着多片叶子。
2.2.1.2 图形结构
图形结构我们可以想象一下我们使用的导航,从A点到B点我们可以乘坐的不同的交通工具。“法外狂徒”张三刚从A城偷走价值连城的宝物之后打算回到B城可以使用地铁、公交、私家车、单车进行出行,然后到达P城之后我们可以选择私家车、轮渡、火车。由此可见张三每到达一个城市可以选择多种交通工具。故 图形结构的数据元素是 多对多的关系 。

2.2.2 物理结构
2.2.2.1 物理结构概述
物理结构指的是 数据的逻辑结构在计算机中的存储形式 ,也称为 存储结构 。
物理存储结构反映的是如何将数据元素存储到计算机中的存储器中,存储结构(物理结构)主要有两种: 顺序存储和链式存储 。
2.2.2.2 顺序结构
把数据元素存储在地址连续的存储单元里,数据元素的 逻辑次序和物理次序是一致的 。
顺序结构类似于张三偷东西,张三每次在作案时都会事先想好偷东西的顺序,如果张三不严格按照作案的先后顺序,就会留下蛛丝马迹,被警察叔叔发现他作案的证据。
我相信大家都应该对C语言不陌生吧,如果没有学过可以看博主的C语言专栏。在C语言中如果我们想要存储类型相同且可以存储大量数据。我们就会使用到数组,然后数组就是顺序结构。
2.2.2.3 链式结构
链式存储结构: 把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
链式存储并不能反映数据元素真正的逻辑关系,因此需要用一个 指针 存放数据元素的地址,这样通过地址就可以找到相关联的数据元素。
例如:张三深更半夜睡不着觉,因为今天张三入室盗窃了大量的欠款,想着放在家里不安全,于是就打算把现金存入银行了,去了银行里看人挺多就在叫号机前叫了个号然后坐在椅子上等待柜台小姐姐叫号,然后去办理业务。由此我们可以看出银行的排队系统,每人去了先领一个号,等着叫号。 在等待的过程中,在哪里都可以。这其实就是链式结构!
总结
本期我们主要要了解的是数据结构概念性的内容,通过张三的故事我想大家应该有了对数据结构的大致了解,下期我们要学习的是算法的介绍。如果你需要参加应试考试请一定要记住前边的概念哦!

相关文章:
【数据结构与算法】不就是数据结构
前言 嗨喽小伙伴们你们好呀,好久不见了,我已经好久没更新博文了!之前因为实习没有时间去写博文,现在已经回归校园了。我看了本学期的课程中有数据结构这门课程(这么课程特别重要),因为之前学过一点…...
封装一个高级查询组件
封装一个高级查询组件 背景一,前端相关代码二,后端相关代码三,呈现效果总结 背景 业务有个按照自定义选择组合查询条件,保存下来每次查询的时候使用的需求。查了一下项目里的代码没有现成的组件可以用,于是封装了一个 …...
代码随想录第七章 栈与队列
1、leecode232 用栈实现队列 使用栈模拟队列的行为,仅使用一个栈是不行的,所以需要两个栈,一个是输入栈,一个是输出栈。 #include<iostream> #include<vector> #include<string> #include<stack> #incl…...
SQL Server对象类型(5)——4.5. 同义词(Synonym)
4.5. 同义词(Synonym) 4.5.1. 同义词概念 与Oracle中相同,SQL Server中的同义词是虚的、被定义的模式对象,其本身并不存储任何数据。其用途之一就是为其他类型基础对象提供一个别名;用途之二就是为应用提供一个抽象层,以方便后期应用相关的基础对象的更改和维护。用户可…...
IP风险查询:抵御DDoS攻击和CC攻击的关键一步
随着互联网的普及,网络攻击变得越来越普遍和复杂,对企业和个人的网络安全构成了重大威胁。其中,DDoS(分布式拒绝服务)攻击和CC(网络连接)攻击是两种常见且具有破坏性的攻击类型,它们…...
Tune-A-Video论文阅读
论文链接:Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation 文章目录 摘要引言相关工作文生图扩散模型文本到视频生成模型文本驱动的视频编辑从单个视频生成 方法前提DDPMsLDMs 网络膨胀微调和推理模型微调基于DDIM inversio…...
Dataset和DataLoader用法
Dataset和DataLoader用法 在d2l中有简洁的加载固定数据的方式,如下 d2l.load_data_fashion_mnist() # 源码 Signature: d2l.load_data_fashion_mnist(batch_size, resizeNone) Source: def load_data_fashion_mnist(batch_size, resizeNone):"""…...
【跟小嘉学习区块链】二、Hyperledger Fabric 架构详解
系列文章目录 【跟小嘉学习区块链】一、区块链基础知识与关键技术解析 【跟小嘉学习区块链】一、区块链基础知识与关键技术解析 文章目录 系列文章目录[TOC](文章目录) 前言一、Hyperledger 社区1.1、Hyperledger(面向企业的分布式账本)1.2、Hyperledger社区组织结构 二、Hype…...
springboot下spring方式实现Websocket并设置session时间
概述 springboot实现websocket有4种方式 servlet,spring,netty,stomp 使用下来spring方式是最简单的. springboot版本:3.1.2 jdk:17 当前依赖版本 <dependency><groupId>org.springframework.boot<…...
LeetCode算法二叉树—相同的树
目录 100. 相同的树 - 力扣(LeetCode) 代码: 运行结果: 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是…...
搭建Flink集群、集群HA高可用以及配置历史服务器
Flink集群搭建 Flink集群搭建集群规划下载并解压安装包修改集群配置分发安装目录启动集群访问Web UI Flink集群HA高可用概述集群规划配置flink配置master、workers配置ZK分发安装目录启动HA集群测试 Flink参数配置配置历史服务器概述配置启动、停止历史服务器提交一个Job任务查…...
vscode终端中打不开conda虚拟包管理
今天,想着将之前鸽的Unet网络模型给实现一下,结果发现,在vscode中运行python脚本,显示没有这包,没有那包。但是在其他的ipynb中是有的,感觉很奇怪。我检查了一下python版本,发现不是我深度学习的…...
【音视频】MP4封装格式
基本概念 使用MP4box.js查看MP4内部组成结构 整体结构 数据索引(moov)数据流包(mdat) 各个包的位置,大小,信息,时间戳,编码方式等全在数据索引 数据流包只有纯二进制码流数据 数据…...
环境-使用vagrant快速创建linux虚拟机
1.下载软件 虚拟机 Oracle VM VirtualBox 镜像 Vagrant by HashiCorp (vagrantup.com) 如果下载慢,可以复制下载链接,使用迅雷下载 2.安装 根据提示点击下一步即可,建议安装到空间较大的非系统盘。 打开 window cmd 窗口,…...
10.1网站编写(Tomcat和servlet基础)
一.Tomcat: 1.Tomcat是java写的,运行时需要依赖jre,所以要装jdk. 2.建议配置好环境变量. 3.默认端口号8080(业务端口)可能会被占用,建议改一下(本人改成了9999). 4.另一个默认端口是8005(管理端口). 二Servlet基础(编写一个hello world代码): 整体分为7个步骤,分别是创建…...
10CQRS
本系列包含以下文章: DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务领域事件CQRS(本文) 案例项目介绍 # 既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术&…...
DAZ To UMA⭐一.DAZ简单使用教程
文章目录 🟥 DAZ快捷键🟧 DAZ界面介绍 🟥 DAZ快捷键 移动物体:ctrlalt鼠标左键 旋转物体:ctrlalt鼠标右键 导入模型:双击左侧模型UI 🟧 DAZ界面介绍 Files:显示全部文件 Products:显示全部产品 Figures:安装的全部人物 Wardrobe…...
面试题 —— Java集合篇(23题)
文章目录 1.Java中常见集合有哪些 ?2. 说说你对Java集合是怎么理解的?3.请你说一下List,Set,Map三者的特点是 ?4.在实际开发过程中如何更好的选择集合 ?5. ArrayList和Vector区别 ?6. ArrayList…...
SpringBoot2.7.14整合Swagger3.0的详细步骤及容易踩坑的地方
🧑💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Sp…...
题解:ABC321D - Set Menu
题解:ABC321D - Set Menu 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:B。 思维难度:C。 调码难度:B。 综合评价:见洛谷链接。 算法 枚举二分查找。 思路 先对b升序排序&#x…...
2026届学术党必备的六大AI写作方案横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek DeepSeek身为先进的大语言模型,能够为学术论文写作给予系统性辅助。研究者理应首…...
C语言完美演绎7-1
/* 范例:7-1 */#include<stdio.h>void main(){int MyArray1[]{1,2,3,4,5}; /* 同MyArray[5]{1,2,3,4,5}; */int MyArray2[5]{1,2,3}; /* 元素值少于五个时,数组的初始化会把不足的数组元素以0取代 */for(int i0;i<5;i)printf("MyArray…...
知网维普都要过,AI率85%用哪款工具最合适
越来越多高校开始同时要求知网和维普检测,这让选工具变得更复杂了——不是只要过一个平台,而是要同时达标。 AI率85%,知网和维普都要过20%以下,这种情况用哪款工具最合适? 知网和维普的算法差异 先说一个背景知识&a…...
反激电源输入电解电容选型避坑指南:从纹波电流到寿命计算的实战经验
反激电源输入电解电容选型避坑指南:从纹波电流到寿命计算的实战经验 在反激电源设计中,输入电解电容的选型往往被工程师视为"常规操作",却不知这里暗藏玄机。我曾亲眼见证一个团队因电容选型不当导致整批电源在高温环境下寿命锐减5…...
学生成绩管理系统|基于springboot + vue学生成绩管理系统(源码+数据库+文档)
学生成绩管理系统 目录 基于springboot vue学生成绩管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue学生成绩管理系统 一、前言 博主介绍&…...
Linux文件搜索新标杆:FSearch高效检索工具全攻略
Linux文件搜索新标杆:FSearch高效检索工具全攻略 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中,面对日益增长的文件数据&#…...
从仿真到真机:在快马平台构建基于OpenClaw与ROS的机械臂智能抓取实战系统
从仿真到真机:在快马平台构建基于OpenClaw与ROS的机械臂智能抓取实战系统 最近在研究机器人抓取项目时,发现OpenClaw这个开源的智能抓取算法库效果很不错,但要把算法真正落地到实际机械臂上却遇到了不少坑。经过在InsCode(快马)平台上反复尝…...
告别重复造轮子:用快马一键生成高性能文件分块上传模块
最近在开发一个需要处理大文件上传的Web应用时,遇到了不少挑战。传统的单文件上传方式不仅速度慢,而且一旦网络中断就得从头再来,用户体验非常糟糕。经过一番摸索,我发现文件分块上传是个不错的解决方案,但自己从头实现…...
基于SUMO的实时动态道路信息获取与备选路径推荐系统
基于SUMO实现备选路径推荐以及实时动态道路信息获取,这个小车每到一个路口、就返回这个路口的信号灯状态、并输出基于当前所在路段-重点路段的前三个最短备选路径 小车每到达一个路口,返回与当前路口连接路段的拥堵情况,控制小车进行动态规划…...
别只训练了!聊聊LSTM翻译模型保存的那些事儿:.h5权重、字符字典与config.json
LSTM翻译模型工程化实战:从权重保存到完整资产包的深度解析 当你花了三天三夜训练出一个效果不错的LSTM翻译模型,看着验证集上的BLEU分数终于突破30,正准备松口气时——突然意识到这个模型可能永远走不出你的Jupyter Notebook。这不是危言耸听…...


