首页 > 其他分享 >数据结构绪论

数据结构绪论

时间:2023-12-16 23:55:06浏览次数:23  
标签:存储 绪论 元素 集合 数据结构 数据 结构

数据

定义:数据是信息的载体,所有能被输入到计算机中,且能被计算机处理的符号的集合。

例:在生活中的各种信息都可以作为数据来进行输入和处理。eg:图片·身份信息等。

数据元素

定义:数据元素是数据的基本单位,常被作为一个整体来考虑。

例如:每个学生信息就是数据元素

数据项

定义:数据项是构成数据元素的最小单位,一个数据集元素可能有多个数据项。

例:学生信息中包含的姓名,年龄,所在班级等信息是数据项。

数据对象

定义:具有相同性质的数据元素的集合,是数据的一个子集。

例:所有学生的信息可以作为一个数据对象。

数据类型

定义:是一组值的集合和定义在该集合上的操作的总和。

    其中有原子类型(不可分割),结构类型(多个原子类型值的组合),抽象数据类型。

数据结构 

定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

例:学生表中,张三排在李四的上面,这样有相互的关系的数据集合表可称之为结构。

 数据结构三要素:数据的逻辑结构,数据的存储结构(物理结构)

逻辑结构分为线性结构和非线性结构,线性结构包括线性表,栈队列,数组,串

                                                            非线性结构包括集合,树,图。

 数据的逻辑结构:

概念:指数组元素之间的逻辑关系。它更贴切与显示关系来描述数据,比如数组,我们认为他存储是连续存储的,不管他底层物理怎么存在

集合:

数据元素同属于一个集合,单个元素之间没有任何关系

线性结构

数据元素是一对一的。

树形结构

数据元素之间是一对多的。

图形结构

数据元素之间是多对多的关系。

数据的存储结构分为顺序存储(逻辑相邻,实际存储位置也相邻),链式存储(逻辑相邻,逻辑存储位置可能不相邻),散列存储(哈希存储),索引存储(利用附加索引表)。

顺序存储:把数据元素放在地址连续的存储单元里面,其数据间的逻辑关系和存储关系是一致的。

例如

 链式存储:是把数据元素存储到任意的存储单元里面,这组存储单元可能是连续的也可能是不连续的。

 

标签:存储,绪论,元素,集合,数据结构,数据,结构
From: https://www.cnblogs.com/aixin52129211/p/17908613.html

相关文章

  • 数据结构与算法 第一章(48课时课程笔记)Data Structure and Algorithms
    数据结构基础知识 数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(DataElement):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项(DataItem)组成。数据......
  • Redis数据结构8:REDIS_HASH
    REDIS_HASHHash本质上就是一个保存若干键值对的数据结构,类似于Java中的HashMap。同样的,hash中只能存在一个独一无二的key,所有的操作都围绕key展开。hash的最大优点在于其可以提供最佳O(1)的查询时间复杂度。通过一段原始数据key,通过特定算法将其哈希值转化为数组下标,通过相同的......
  • Java中常见的数据结构
    一、数组二、链表三、栈四、队列五、List类1.ArrayList:底层是数组结构。2.LinkedList:底层结构是链表。六、LinkedList类七、Vector八、HashSet集合九、LinkedHashSet集合......
  • 结构体和数据结构基础
    结构体和数据结构基础目录结构体和数据结构基础结构体结构体的定义单向链表向链表中新建节点原链表为空表结构体结构体的定义structstudent{longstudentID;charstudentName[10];charstudentSex;intyearOfBirth;intscore[4];};//给struct......
  • Redis数据结构5:REDIS_SKIPLIST
    REDIS_SKIPLISTskipList,即:跳表,或者叫跳跃表。skiplist的优势是能支持平均O(logN)复杂度的节点查找。用一句话来说:skiplist就是一个有着索引的list。编码结构简单理解简单来说,skipList有多层“索引”以加快查找速度:其中L1、L2和L3都是一个list。当查找8时,从L3查找到5,再从L......
  • 数据结构只因屑化
    好像一直在做这个。然而。。。。越来越感觉这个东西不适合用来打OI了。虽然还没有整出来。只是用来确保复杂度还差不多。也就是学术用途吧(?)核心大致的思想朴素而不完备。主要适用于偏序类的东西,或者区间第k大之类的伪不可合并信息。枚举每一维,整一个高维树套树。对......
  • Redis数据结构4:REDIS_ZIPLIST
    REDIS_ZIPLISTzipList(压缩列表)是一种紧凑型的数据结构,占用一片连续的内存,本质上是一个字节数组。能提高CPU缓存的利用效率,并且针对不同数据结构进行不同编码,节省内存开销。编码结构zipList的字节数组主要由5个部分组成:zlbytes、zltail、zllen、zltail和entry。zlbytes记录......
  • 数据结构:双链表
    由于双链表中大部分操作其实和单链表操作类似,所以这里只挑关键的一些函数1、定义与初始化typedefstructDNode{ElementTypedata;structDNode*prior,*next;}DNode,*DLinkList;boolInitialDLinkList(DLinkList&L){L=(DNode*)malloc(sizeof(DNode));......
  • 学习文件系统的数据结构
    学习文件系统的数据结构:深入理解计算机系统和操作系统运作的关键一步。以下是一份关于学习文件系统数据结构的学习总结,可能会帮助你系统地回顾所学的知识:inode(索引节点):1.inode是文件系统中非常重要的数据结构,它存储了文件的元数据,包括文件的大小、权限、拥有者等信息。2.理......
  • 数据结构---队列
    队列(Queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。这种操作方式通常被称为FIFO(FirstInFirstOut,先进先出)。队列中的插入操作也被称为入队(enqueue),而删除操作则被称为出队(dequeue)。队列中的元素只能从一端(称为队头)添加......