数据结构之存储

最近没事研究一下数据结构:发现很陌生,是不是搞java的缘故,一般的问题不需要设计数据结构,运用现成的colletion中的类就可以了,但是他们的底层实现还是涉及数据结构的设计的,现将自己的理解记录于下:
一:概述
数据结构就是描述一定形态的数学模型,java中一切皆对象,所以也可以把他看着特殊的对象,对象是承载数据的载体,而数据结构为了表述特定的数学模型而把对象联系在一块的纽带。
对于一般的对象我们没有考虑他们的存储,因为数据的存储是虚拟机的事情。往往我们是抽象的运用了java给我们提供的现成数据结构如:ArrayList,LinkList,HashMap等等,他们都隐藏了底层的数据结构的设计,也把数据的存储逻辑包装起来了。
我觉得数组和节点思想是设计数据结构的最基本的,其实数组也是数据结构,节点也可以算是数据结构。
嘿嘿。。。以上是为了好记而自己的理解,不知道对不对?
二:逻辑分类
数据结构分为线性和非线性两种:
1:线性的就像某些文章所说的那样,所有数据是一类有某些共同特点的对象,他们之间的关系如一条线上的麻雀,一个接一个,没有出现分支,也就是一个个的相关的点组成的一条线。数学上叫一个维度,线性表典型的数据结构如队列,栈。
2:非线性就是由多条线组成的面,数学上叫多个维度,不知道这样说合适不,我也是在前段时间看别人的文章的时候觉得还是很有道理,所以在这里引用一下;嘿嘿。。。所以说他是一种更复杂的数据结构,他是多条线性结构的结合,比较典型的非线性结构如:图,树等。








猜你喜欢

转载自wujianjun12315.iteye.com/blog/1067128