数据结构开篇(数据的概念以及数据的结构与关系)

简介: 数据结构开篇(数据的概念以及数据的结构与关系)

正文


数据概念


数据是什么呢?

       data数据 是对客观事物符号的表示

       在计算机程序中,是指所有能输入到计算机中并且能被计算机程序处理的符号的总称。



   数据元素(data element)

       是数据的基本单元,在计算机程序中通常是作为一个整体进行考虑和处理



   数据项 data item

       一个数据元素可以由若干个数据项组成,数据项是数据不可分割的单位。



   数据对象

       数据对象是性质相同的数据元素的集合,是数据的一个子集。



数据:

       1.用户数据

           用户需要存储的数据 如: 学生信息(学号 名字 成绩)

       2.元数据 (表头)

           用来管理用户数据的数据


数据结构


   数据结构不仅要保存数据 而且数据和数据之间的关系也要保存。

   根据数据元素之间的关系,通常可以分为下列4类基本结构:

1.集合

           结构中的数据元素之间,除了在同一个集合之外,并无其它关系。



2.线性结构

           数据和数据之间的关系是线性的

               线性?

                   一条直线


3.树形结构

           数据元素之间的关系是树状的(层次)


4.网状结构(图)



数据结构的形式定义:

       数据结构是一个二元组

           data_structure=(D,S)

           D:是数据元素的集合

           S:S是D上的关系 (数据元素之间的关系)的集合

           结构定义中的“关系”描述的是数据元素之间的逻辑关系,所以又称数据的逻辑结构

         

           “逻辑结构”: 数据元素在某种“逻辑” (按照成绩的升序降序 )的关系

         

           “存储结构”(物理结构):数据元素在计算机中的映像称为数据元素的物理结构,或存储结构


讨论一下:

           逻辑结构和存储结构的关系。

               (1)是不是数据第一次存进去,物理结构(存储结构)就固定了,之后对数据进行

               排序的操作,改变的是逻辑结构,物理结构不变吗?

               不对。

               逻辑结构是一个虚的,“想法”

               存储结构(物理结构)是真实存在的。

         

                   A   (1,dingchenkang,85)

                   B    (2,zhangsaiwei,84)

                   C    (3,quedi,100)

                   D    (4,zengheng,99)

                   E   (5,wangwu,60)



               逻辑关系:成绩降序

               存储结构

E D C B A
0x1000 0x1001 0x1002 0x1003 0x1004


逻辑关系:学号升序

               存储结构


A B C D E
0x1000 0x1001 0x1002 0x1003 0x1004


             

               可能根据逻辑结构,去改变数据的一个存储结构

               也有可能逻辑结构变了,存储结构不变。



               (2)在计算机中存储的按哪个结构存储?

                   数据存储肯定会有一个“存储结构”,同时

                   可能会对应多个“逻辑结构”

                   逻辑结构有很多种,存储结构一般只有一种。


               (3)存储结构就是物理存放的顺序关系么?

                   存储结构是指数据在存储器对应的关系



                   逻辑结构会影响存储结构吗?

                       可以影响 也可以不影响 由你决定

                       怎么存储的 也由你决定。




相关文章
数据结构——二叉树的链式结构
数据结构——二叉树的链式结构
36 0
|
3天前
|
存储 算法
数据结构开篇(普普通通浅浅聊数据结构)什么是数据结构 、什么是算法、重要性、如何学好数据结构呢
数据结构开篇(普普通通浅浅聊数据结构)什么是数据结构 、什么是算法、重要性、如何学好数据结构呢
|
3天前
|
存储 C语言
数据结构基础:双链表结构、实现
数据结构基础:双链表结构、实现
|
21天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
29天前
|
存储 C语言
【数据结构】线性表的链式存储结构
【数据结构】线性表的链式存储结构
18 0
|
29天前
|
存储 vr&ar
数据结构的图存储结构
数据结构的图存储结构
26 0
|
30天前
|
存储 NoSQL Redis
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)(三)
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)
33 0
|
30天前
|
存储 算法 搜索推荐
数据结构-概念版(七)
数据结构-概念版
49 0
|
30天前
|
存储 算法 Serverless
数据结构-概念版(六)
数据结构-概念版
38 0
|
30天前
|
存储 机器学习/深度学习 算法
数据结构-概念版(二)
数据结构-概念版
32 0