关于数据结构的总结(1)
数据结构是什么?数据结构就是数据元素按照一定的关系组织起来的集合,用来组织和存储数据。
数据结构可以分为逻辑结构和物理结构。
逻辑结构
逻辑结构是按照数据元素之间的相互关系分类,它包括集合结构、线性结构、树形结构、图形结构。
集合结构:集合结构中数据元素除了属于同一个集合外,它们之间没有任何关系。
线性结构:数据元素之间存在一对一的关系。
树形结构:数据元素之间存在一对多的关系。
图形结构:数据元素之间存在多对多的关系。
物理结构
物理结构是逻辑结构在计算机上真正的表示方式,它分为顺序存储结构和链式存储结构。
顺序存储结构:数据元素之间存放的地址是连续的。
链式存储结构:数据元素之间放在任意的存储单元格里,它们可以是连续或不连续的。链式存储结构中引进了指针存放数据元素的地址,通过地址就可以找到相关联的数据元素的位置。
那看到这里是否有个疑问?Java中也有LinkList这样的链式存储结构存在,那它是否存在指针呢?
答案是没有的,但是Java有类似指针的东西,就是对象的引用。
在Java中,实际上每一个new 语句返回的都是一个对象的引用,故对象是可以在函数中进行传递的,也就是引用传递。所以在Java中,基本类型数据存放在栈中,存放的是数据。而产生对象时,只把对象的引用存放在栈中,用于指向某个对象,对象本身存放在堆中。