产品狗的技术路day01——数据结构之逻辑结构+物理结构

1、数据结构是什么?

程序设计=数据结构+算法

关系,数据元素相互之间存在的一种或多种特定关系的集合

2、逻辑结构:是指数据对象中数据元素之间的相互关系

   物理结构:是指数据的逻辑结构在计算机中的存储形式


3、四大逻辑结构

(1)集合结构:集合结构中的数据元素除了同属于一个集合外,它们之前之前额没有其他不三不四的关系。

图1  集合结构

(2)线性结构:线性结构中的数据元素之间是一对一的关系

图2  线性结构

(3)树形结构:树形结构中的数据元素之间存在一种一对多的层次关系(像3P,4P等等)

图3   树形结构

(4)图形结构:图形结构的数据元素是多对多的关系

图4  图形结构

4、物理结构

     数据元素的存储结构形式有两种:顺序存储和链式存储

(1)顺序存储结构:是把数据元素存放在地址连续的存储单元中,其数据间的逻辑关系和物理关系是一致的

图5  顺序存储结构

(2)链式存储结构:是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的,也可以是不连续的。

图6  链式存储结构

       链式存储结构的数据元素存储关系并不能反映去逻辑关系,因此需要用一个指针存放数据元素的地址,这样子通过地址就可以找到相关数据元素位置

PS:1号存储着指向2号的指针,2号存储指向3号的指针,以此类推。


情境小剧场:区分顺序存储结构和链式存储结构

顺序存储结构:当你在超市付钱时,排队付钱,每个人所占的位置与顺序就是付钱的顺序;

链式存储结构:现在如银行、医院等地方,都设置了排队系统。也就是每个人去了,先领一个号等着叫号,叫到你的时候你就去,而在等待的时候,你爱在哪在哪,可以坐着、站着或者四处看看美眉,只要你及时回来就行。这些情况下,你关注的是前一个号有没有被叫到,叫到了下一个就该轮到你了。此时你所站的位置并不是你的付款顺序,你的号才是你的付款顺序(地址),你上一个号就是指向你的指针。

你可能感兴趣的:(产品狗的技术路day01——数据结构之逻辑结构+物理结构)