什么是数据结构?
数据结构:就是关系,就是数据元素之间相互之间存在的一种或多种特定关系。(比如人,在整个世界就是一个数据元素,人与人之间有说不断理还乱的关系有正配,有小三,有小四 )
程序设计=数据结构+算法
传统上,把数据结构分为逻辑结构和物理结构。
逻辑结构:是指数据对象中数据元素之间的相互关系。
物理结构:是指数据的逻辑结构在计算机中的存储形式。
四大逻辑结构:
1.集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有其他不三不四的关系。(就像精子在DIO中是一坨集合)
2.线性结构:线性结构中的数据元素之间是一对一的关系。(可以想象下串联如糖葫芦)
3.树形结构:树形结构中的数据元素之间存在一种一对多的层次关系(如一王两后,3p,4p)
4.图形结构:图形结构的数据元素是多对多的关系。
物理结构:研究的是如何把数据元素存储到计算机的存储器中。(存储器主要是针对内存而言的)
数据元素的存储结构形式两种:顺序存储和链式存储。
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
1---2---3----4(比如排队)
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。很显然,这样说的话链式存储结构的数据元素存储关系并不能反映其逻辑关系,因此需要一个指针存放数据元素的地址,这样子通过地址就可以找到相关联数据元素的的位置。(比如叫号)