数据结构1)数据结构的基本概念

2023-10-26

1.1.1

1.数据

数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机并被计算机程序识别和处理符号的集合,数据是计算机程序加工的原料

2.数据元素

数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。(典型的就是结构体,下一个博客会写)
在这里插入图片描述

3.数据对象

数据对象是具有相同性质的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N={0,±1,±2…}

4.数据类型

在这里插入图片描述

5.数据结构

强调关系
数据结构是相互之间存在一种或多种特定关系的数据元素的集合,在任何问题中,数据元素都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构
在这里插入图片描述

1.1.2 数据结构的三要素

1.逻辑结构

数据元素之间的逻辑关系,与数据的存储无关。
在这里插入图片描述
集合:结构中的数据元素之间除“同属一个集合”外,别无其它关系。
线性结构:结构中的数据元素之间只存在一对一的关系
树形结构:结构中的数据元素之间存在一对多的关系
图状结构或网状结构:结构中的数据元素之间存在多对多的关系

2.数据的存储结构

存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构,包括:数据元素的表示和关系的表示
在这里插入图片描述

顺序存储:
把逻辑上相邻的元素存储在物理位置也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

优点:可以实现随机存取,每个元素占用最少的存储空间
缺点:只能使用相邻的一整块存储单元,可能产生较多的外部碎片

链式存储
不要求逻辑上相邻的元素在物理位置也相邻,借助元素存储地址的指针来表示元素之间的逻辑关系

优点:不会出现碎片现象,能充分利用所有存储单元
缺点:每个元素因存储指针而占用存储空间,且只能实现顺序存储

索引存储
在存储元素信息的同时,还建立附加的索引表。

索引表:索引表中每项称为索引项,索引项的一般形式是(关键字,地址)
优点:检索速度快
缺点:附加的索引表额外占用存储空间,增加和删除数据是也要修改索引表,花费时间较多

散列存储(哈希存储)

优点:检索、增加和删除结点的操作都很快
缺点:如果散列函数不好,可能出现元素存储单元的冲突,解决冲突会增加时间和空间开销。

3.数据的运算

施加在数据上的运算包括“运算的定义和实现”

运算的定义:针对逻辑结构,指出运算的功能
运算的实现:针对存储结构,指出运算的具体操作步骤

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构1)数据结构的基本概念 的相关文章

  • INVALID_USER_SCODE问题的解决办法

    在用高德地图API的时候 还会遇见一个为题 就是总是提示 INVALID USER SCODE 当遇见这个问题的时候 一般的问题都是 注册key之后没有十分钟就开始使用这个key值了 另外一种情况就是注册的key值有问题 应该重新注册一个k
  • 使用STM32让示波器显示图片及播放动画思路的经验分享

    到手了一块某夕夕上一百三入手的STM32F407VE的开发板 一个字 香 把玩时发现了DAC这个看起来就很有意思的功能 软件输出了正弦波三角波之后突然想起了示波器的XY模式 刚好这个芯片有一个DAC两路通道 于是便折腾了一下用XY模式显示图

随机推荐

  • pgbackrest 简要使用说明

    测试环境 CentOS Linux release 7 4 1708 Core X64 PostgreSQL 10 1 Source pgbackrest pgbackrest release 1 27 tar gz 1 Test Simp
  • 5.1 activiti执行监听器ExecutionListener

    1 执行监听器的使用场景 1 1 人员动态分配 节点审批人员需要在流程运行过程中动态分配 当前任务节点完成的时候 指定需要指定下一个节点的处理人 比如 一个请假流程 a员工请假 需要指定下一步需要处理请假流程的领导 1 2 任务节点调取业务
  • MongoDB文档数据库

    一 引言 MongoDB 是一个开源的文档数据库 并是领先的NoSQL数据库 MongoDB 是由C 语言编写 通过本系列教程的讲解 使得学习者可以了解并掌握创建和部署高度可扩展和高性能的面向对象数据库MongoDB概念和理解 该系列教程是
  • 使用MATLAB做传热学分析及后处理——CFDTool 官方例程

    目录 前言 1 环境配置 2 问题背景 3 传热学例程 heat transfer3 最后 中国加油 武汉加油 前言 cfdtool 官网 https www cfdtool com 是一个MATLAB的扩展工具箱 既然看到这个CFD问题了
  • 消消乐游戏算法实现(三消乐)

    先上前端效果图 3消乐地图初始化的时候不允许有下面两种情况的发生 就是不允许3个 3个以上已经包含3个 所以只要判断3个就可以了 相同颜色的格子连在一起 下图是两种情况 细分分为6种情况 就是初始点为3个格子中的一个为一种情况 所以细分2
  • 多线程(五)线程的不安全原因及解决方案

    目录 一 什么是线程安全 二 线程不安全的原因 1 修改共享数据 2 原子性 3 内存可见性 4 指令重排序 三 解决线程安全方案 volatile 解决内存可见性和指令重排序 通过synchronized锁实现原子性操作 一 什么是线程安
  • SyntaxError: can‘t delete function call

    复习之前的python课件 抄代码的时候发现了一个问题 然后上网查 发现跟自己的情况好像不太符合 然后又看了一眼老师的课件 发现原来是自己无用了小括号的原因 因为那个counts是字典 它提取元素用的是方括号 不是小括号 改了之后就可以运行
  • 指针和数组笔试题解析【上篇】

    文章目录 1 前言 2 整型数组与指针 3 字符数组与指针 3 1 代码段 1 3 2 代码段 2 4 字符指针变量与数组 5 二维数组与指针 1 前言 数组 能够存放一组相同类型的元素 数组的大小取决于数组的元素个数和元素类型 指针 地址
  • linux安装enca

    简介 enca是Linux下的文件编码转换工具 1 查看是否安装enca 在命令行输入如下命令 若显示enca安装版本则表示已安装 enca version 2 安装enca 1 1 安装方式二 sudo命令安装 sudo apt get
  • Git极简入门

    Git极简入门 1 本地仓库 1 1工作流程 git本地操作的三个区域 Git Repository Git仓库 最终确定的文件保存到仓库 成为一个新的版本 并且对他人可见 暂存区 暂存已经修改的文件最后统一提交到git仓库中 工作区 Wo
  • Linux安装配置NFS服务器

    目录 NFS简介 安装NFS服务 网络环境配置 开发板挂载NFS 常见问题 NFS简介 NFS network file system 即网络文件系统 能使使用者访问网络上别处的文件就像在使用自己的计算机一样 我们可以在 Ubuntu 上制
  • 微信小程序报错“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.js...“

    解决微信小程序获取定位报错 上个礼拜在调试一个微信小程序的时候 在手机允许小程序获取定位 定位授权成功的情况下 发现安卓手机能获取定位 但是苹果手机获取不到定位 我就开始查阅资料 一 报错信息 报错信息是errMsg getLocation
  • 在外包做了3年测试,离职后却成功入职字节跳动.....

    最近换了份工作 当时和群里的朋友也聊过换工作的话题 他们都觉得这是一次非常冒险的行为 说我这是一次豪赌 成了会有更好的职业发展 没成可能就会出现两三年的发展断层 甚至影响职业生涯路径 一步错 步步错 我当时也仔细的考虑过了 的确有很大的风险
  • JAVA基础知识之文件读取详细解读

    欢迎访问个人博客 德鲁大叔撸代码 我们要把一个文件从外部读入程序中 大致的步骤如下 第一步 获取需要被读取的文件 第二步 构造一个字节输入流 用来读取文件 第三步 为了提高读写速度 需要把字节流转换成一个字符输入流 第四步 写文件 所以我们
  • python英文文本情感分析_sentimentpy模块进行中文文本情感分类

    sentimentpy是我根据R语言的一个文本情感分析包sentiment进行开发的 开发的初衷有 R的sentiment已经被弃坑 没人维护 Python比R更擅长文本处理 sentiment包不支持中文 而sentimentpy包有如下
  • Vite 配置 Eslint 规范代码

    在经历过比较大型的项目协同开发后 代码规范成为了团队协同开发的棘手问题 今天 准备从头整理一份从编辑器 gt 代码编写过程中的规范总结 一 代码风格统一 这里推荐使用 EditorConfig 配置 来规范不同的编辑器 不同的编辑器配置 所
  • 【OAuth漏洞】第三方身份验证-账号接管

    目录 什么是OAuth OAuth 如何用于身份验证 在 Booking com 实施 OAuth 为什么 Booking com OAuth 在 Booking com 中的工作原理 Booking com 帐户接管 安全漏洞 1 不允许
  • android 修改最近任务列表的图标以及名称

    在activity里加入 如下代码 if Build VERSION SDK INT gt 27 ActivityManager TaskDescription description new ActivityManager TaskDes
  • 【华为OD机试真题 C++】面试官人数

    前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email nansun09
  • 数据结构1)数据结构的基本概念

    1 1 1 1 数据 数据是信息的载体 是描述客观事物属性的数 字符及所有能输入到计算机并被计算机程序识别和处理符号的集合 数据是计算机程序加工的原料 2 数据元素 数据元素是数据的基本单位 通常作为一个整体进行考虑和处理 一个数据元素可以