对数据结构的一些理解
- 数据结构包括逻辑结构和存储结构两种。
- 首先介绍逻辑结构。通过一些图片和叙述来表示。
- 我们可以在脑海里想象一些东西,这些东西没有任何联系,然后将这些东西聚到一块,这样就构成了一个集合。集合就是相互之间没有任何关系的一些元素聚集到一块。比如我们就在这个圆形区域里面放一些其他图形。这些图形的形状和相对位置并不重要,重要的是他们是一些实体,并且没有任何联系。我们给这些东西编个号码,按照1,2,3,4…这样的顺序来。便于后面的文字叙述。如下图所示:
- 逻辑就是在集合的基础上人为的给这样一些元素添加联系,我们已经将集合中的元素表示出来了,那么将他们之间的练习表示为一条直线。数据结构的不同就是这些直线连接他们所产生的结构不同。
- 首先介绍线性结构,也就是将这些元素连接成一条线。如图所示:
- 然后是树形结构,这些元素至今不在是单纯地构成一条线了,而是构成了很多的线,并且这些线没有形成闭合孔状结构。树形结构在现实生活中很好找,就是所有的树都可以看做是树形结构。如图所示。
- 然后是图结构,这也是计算机中表示最难的结构,因为它的元素相互之间的关系太复杂了。图就是这些线至少构成了一个环状结构。比如元素1,2,3之间的关系就构成了一个环状结构。图结构可以在轻轨线路图中找到。
- 然后介绍存储结构。上面介绍的逻辑结构即使没有计算机也能使人理解。存储结构实际上就是计算机为了实现逻辑结构所采取的存储方式。也就是说逻辑结构应用于计算机中就是存储结构。这样就很容易想到,实现一个逻辑结构所用的存储方式是可以不同的。所以一个逻辑结构就可以对应多个存储结构。
- 在计算机中要制定这样的关系主要就是运用指针。我们将上面的元素1,2,3…每一个都对应一块内存,在这块内存中制定一个指针区域,这个指针区域就指向其他元素所对应的内存。但是很明显,这样的指向是单向的,如果需要双向的关系就需要在一个元素内部定义两个指针,分别指向它的前一个元素和后一个元素。