重新整理数据结构与算法——概念[一]
前言
打算从新整理一下数据结构,在此先整理一些名词,介绍数据结构的概念
正文
什么是数据
数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机的符号集合。数据不仅包括整型,实体等数值类型,还包括字符及声音、图像、视频等非数值类型.
数据元素
是组成数据的,有一定意义的基本单位,在计算机中通常作为整理处理。也被称为记录.
比如禽类,那么数值元素是鸡鸭等禽类.
数据项
一个数据元素可以由若干个数据项组成。
数据项是数据的最小基本单位。
数据对象
数据对象是性质相同的数据元素的集合,是数据的子集。
什么叫性质相同呢,是指数据元素具有相同数量和类型的数据项,人都有姓名、生日、性别等相同的数据项。
数据结构
在计算机中,数据元素并不是孤立的,杂乱无序的,而是具有内在联系的数据集合。数据元素之间存在的一种或多种的特定关系,也就是数据的组织形式。
数据结构是什么?
数据结构分为逻辑结构和物理结构。
什么是逻辑结构什么又是物理结构
逻辑结构:
是指数据对象中,数据元素之间的相互关系。
其实很好理解的一个问题
比如禽类,我们之所以定义禽类这个东西呢?是因为鸡鸭等动物具有相同的特点,那么这个时候就定义了这个禽类。是的,逻辑结构一样是这个意思,不只是数据结构的逻辑,其他逻辑结构也一样。
物理结构:
是指数据的逻辑结构在计算机的存储形式.
逻辑结构
逻辑结构基本可以分为4类。
集合结构:
在集合结构中,每个数据元素是一个平等的概念,就像一个国家的人,生活在一个大集体中,然后把这个国家定义为国家.
线性结构:
线性结构中的数据元素存在一对一的关系。这并不是说中国的夫妻一对一。可能比较像这样的,a喜欢b,b喜欢c,c喜欢d,这种喜欢就成了一个线性关系。
树形结构:
这是一个非常经典的结构了,到底有多么经典?这个不同啥介绍。
图形结构:
可以比作一个线条,乱的很的呢。比如一个村的他大姑八大姨,亲戚关系复杂的一批。
物理结构
顺序存储结构:
那地址来说吧,比如计算中分配了100,101,存的形式先存100然后下一个那是101.
链式存储:
这个时候这样解释吧,list结果,有一个next(),这个时候就是链式存储了。
依然拿地址来说,比如说分配了一批地址在内存中。1000-1100
第一个数字存1000,第二个可能就存在1005了。当然这种模式有一个很大的问题,比如说我们只有next无法推断x【5】是多少。
这种存储比较自由。