02 |「数据结构、逻辑结构、物理结构」基本概念简析

news2024/11/16 5:51:14

前言

前言:简析数据结构、逻辑结构、物理结构。

文章目录

    • 前言
  • 一、数据结构
    • 1. 简介
    • 2. 数据
    • 3. 结构
    • 4. 分析
    • 5. 分类
      • 1)线性结构(线性表)
      • 2)树结构
      • 3)图结构
  • 二、逻辑结构与物理结构
    • 1. 为什么要有逻辑结构和物理结构?
    • 2. 数据的逻辑结构
      • 1)特点
      • 2)作用
      • 3)选择依据
    • 3. 数据的物理结构
      • 1)特点
      • 2)分类
      • 3)选择依据
        • a. 内存的空间状态
        • b. 数据的用途
    • 4. 总结

一、数据结构

1. 简介

数据结构就是相互之间存在一种或者多种特定关系的数据元素集合。换句话说数据结构就是带结构的数据元素集合

数据:指数据元素。

结构:指数据元素之间的关系。

2. 数据

数据在计算机内存中都是以二进制的形式存储。

3. 结构

结构就是数据与数据之间的关系,关系包括:一对一一对多多对多

4. 分析

1)数据在内存中的存储形式分为两种,一种是顺序排列,另一种是散乱排列

在这里插入图片描述

在这里插入图片描述

因为数据在内存中是有不同的存储形式,数据结构就是用来管理数据在内存中存储方式

根据数据的用途本身的特性来选择两种不同的存储形式。

2)数据结构是一个统称,不同的数据结构具有不同的特点。

可以将数据结构类比成容器,容器是用来盛放东西的,数据结构是用来存放数据的。

不同的数据结构相当于形状不同的容器。

5. 分类

1)线性结构(线性表)

线性结构只用来存储数据数据,并且数据都是一对一的关系,依次排列====。

线性结构包括:数组(顺序表)链表栈和队列

2)树结构

树结构不仅存储数据还要存储数据与数据之间的关系

树结构包括:普通树二叉树AVL 树红黑树

3)图结构

二、逻辑结构与物理结构

1. 为什么要有逻辑结构和物理结构?

  • 数据结构用来管理数据在内存中的存储。

  • 数据结构有很多种(数组、链表、栈、队列、树、图等),具体选用哪个数据结构来存储数据?选择的依据又是什么?

  • 选择的依据就是数据的逻辑结构物理结构

2. 数据的逻辑结构

1)特点

逻辑结构是抽象的概念。

2)作用

为了确定该选用哪一种数据结构进行数据的存储。

3)选择依据

通过 数据之间的关系来确定。

数据之间的关系包括:一对一(线性结构)一对多(树结构)多对多(图结构)

3. 数据的物理结构

1)特点

  • 物理结构是具体的,指数据在内存中实际的存储形式

  • 数组和链表是实现其它数据结构的基石。数据在内存中的存储结构本质上只有两种,一种是数组(顺序存储),另一种是链表(链式存储)。用数组实现的叫做顺序实现,用链表实现的叫链式实现。

2)分类

  • 分为集中存放数组) 和 分散存放链表)。

  • 类比举例:
    内存相当于一个大房子。
    分散存放相当于人们站在各个地方。
    集中存放相当于人们在此房子里排队站在一起。

3)选择依据

a. 内存的空间状态

集中存放要求内存中要有连续的内存空间,如果没有就只能采用分散存放。

b. 数据的用途

例如,对数据的增删改查操。

集中存放查找效率高,适用于遍历频繁。

分散存储更新(删除和添加)元素效率高,适用于更新比较频繁。

4. 总结

  • 逻辑结构决定了选用哪种数据结构。
  • 为了实现逻辑结构选用物理结构来存储。

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

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

相关文章

SpringBoot+Vue--前端搭建-笔记1

前端搭建 首先安装node.js(百度) 官网下载地址:http://nodejs.cn/download 以前写的关于npm 后端了解的npm_biubiubiu0706的博客-CSDN博客 安装Node.js淘宝镜像加速器(cnpm) npm install cnpm -g(可以不安装) #建议使用如下语句解决npm速度慢的问题 好比设置仓…

代码随想录算法训练营三期 day 24 - 回溯 (1) (补)

回溯算法理论基础 什么是回溯法 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。 回溯法的效率 回溯的本质是穷举&…

【手把手教你学51单片机】中断的优先级

注:本文章转载自《手把手教你学习51单片机》!因转载需要原文链接,故无法选择转载! 如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,同时能够帮助其他一同学习的小伙…

第四十三章 动态规划——最长单调序列模型

第四十三章 动态规划——最长单调序列模型一、最长单调序列模型1、模型母题2、思路分析(两种方法:DP,贪心)二、模型的应用1、AcWing 1017. 怪盗基德的滑翔翼(1)问题(2)分析&#xff…

C规范编辑笔记(十四)

往期文章: C规范编辑笔记(一) C规范编辑笔记(二) C规范编辑笔记(三) C规范编辑笔记(四) C规范编辑笔记(五) C规范编辑笔记(六) C规范编辑笔记(七) C规范编辑笔记(八) C规范编辑笔记(九) C规则编辑笔记(十) C规范编辑笔记(十一) C规范编辑笔记(十二) C规范编辑笔记(…

Linux进程学习【一】

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

Linux基本功系列之rename命令实战

文章目录一. rename 命令介绍二. 语法格式及常用选项三. 参考案例3.1 将当前目录下所有.cfg的文件,替换为.txt结尾3.2 将所有出现mufeng的部分都替换为mufeng13.3 将mufeng0开头都变成mufeng00开头3.4 rename支持正则表示式总结前言🚀🚀&…

2023-1-22 刷题情况

积水面积 先祝大家新年快乐,新的一年,万事如意。 题目描述 一组正整数,分别表示由正方体叠起的柱子的高度。若某高度值为 xxx,表示由 xxx 个正立方的方块叠起(如下图,0≤x≤50000 \le x \le 50000≤x≤5…

卷积神经网络进阶--基础知识

卷积神经网络进阶 b站课程链接碳基生物都能学会的神经网络(跳着看的) 因为我用的是pytorch,而该课程是用tenserflow的,所以主要记了一下理论 为什么要讲不同的网络结构 不同的网络结构解决的问题不同不同的网络结构使用的技巧不同…

【人工智能原理自学】卷积神经网络:打破图像识别的瓶颈

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文讲解卷积神经网络:打破图像识别的瓶颈,一起卷起来叭! 目录一、手写体识别二、“炼丹”一、手写体识别 在机器学习、神经网络领域&#…

【数据分析】(task4)数据可视化

note matplotlib的四个容器: Figure:顶层级,用来容纳子 Axes,一组具体绘图元素和画布(canvas)。 画板。Axes:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一…

【QT5.9】与MFC对比学习笔记-感悟篇【2023.01.22】

简介 在公司从事MFC的程序维护一年两个月,期间因为公司被QT告侵权对QT产生了抵触的心情。现在无奈要用到,需要抓紧学习了。 正文 1.数据模型 先说下刚用到的模型,模型也叫数据模型,也就是耳熟的MVC架构中的M(Model…

我用笨办法啃下了一个开源项目的源码!

目录 1、从最简单的源码开始:别幻想一步登天 2、循序渐进:先搞定底层依赖的技术 3、一定要以Hello World作为入口来阅读 4、抓大放小,边写注释边画图 5、反复三遍,真正理解源码 6、借力打力,参考源码分析书籍及博客 7…

研一寒假C++复习笔记--引用的使用

​​​​​​​ 目录 1--引用的基本语法 2--引用的注意事项 3--在函数参数中使用引用 4--引用作函数的返回值 5--引用的本质 6--常量引用 1--引用的基本语法 引用相当于给变量起别名&#xff0c;其基本语法如下&#xff1a; 数据类型 &别名 原名 # include <…

Linux操作系统之进程信号

代码存放在&#xff1a;https://github.com/sjmshsh/System-Call-Learn/tree/master/signal 我们先来看一张图&#xff0c;了解一下通过阅读本博客&#xff0c;你可以收获什么。 背景知识 首先我说明一点 信号 ! 信号量 我们这篇文章讲解的是信号&#xff0c;不是信号量 信…

POJ3263. Tallest Cow题解(c++ 前缀和)

POJ3263. Tallest Cow 传送门&#xff1a;Tallest Cow 题目&#xff1a; 有N头牛站成一行。两头作能够相支看见&#xff0c;当且仅当它们中间的牛身高都比它们矮。现在&#xff0c;我们只知道其中最高的牛是第P头&#xff0c;它的身高是H&#xff0c;不知道剩余N-1头牛的身高。…

大数据之Kafka高级知识点

文章目录前言一、分片和副本机制&#xff08;一&#xff09;分片机制&#xff08;二&#xff09;副本二、Kafka如何保证数据不丢失&#xff08;一&#xff09;Producer生产者&#xff08;二&#xff09;Broker&#xff08;三&#xff09;Consumer消费者三、消息存储和查询机制总…

重新设计 TCP 协议

看一段关于 TCP 协议的历史讨论&#xff0c;源自&#xff1a;The design philosophy of the DARPA internet protocols 读这段文字时&#xff0c;你可能觉得这不是在谈 TCP&#xff0c;而是在创造一个新协议&#xff0c;但事实上这就是 TCP 在被创造过程中真实的纠结。 现在来…

Java知识点细节简易汇总——(6)面向对象编程(中级部分)

一、IDE快捷键 删除当前行, 默认是 ctrl Y 自己配置 ctrl d复制当前行, 自己配置 ctrl alt 向下光标补全代码 alt /添加注释和取消注释 ctrl / 【第一次是添加注释&#xff0c;第二次是取消注释】导入该行需要的类 先配置 auto import , 然后使用 altenter 即可快速格式化…

Day867.事务隔离 -MySQL实战

事务隔离 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于事务隔离的内容。 提到事务&#xff0c;肯定不陌生&#xff0c;和数据库打交道的时候&#xff0c;总是会用到事务。 最经典的例子就是转账&#xff0c;你要给朋友小王转 100 块钱&#xff0c;而此时你的银行…