本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等
一、解释定义
1. 数据结构:
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。
如果还是不太清楚下面会举例说明的。
2. 数据存储结构:
简单的讲就是数据在计算机中的存储方式。
常用的数据存储方式有两种:顺序存储,非顺序存储。顺序存储就是把数据存储在一块联系的存储介质(硬盘或内存等)中。反之就是非顺序存储咯。Java中的数组就是典型的顺序存储,链表就是非顺序存储。数组存储数据时会开辟出一块联系内存,按顺序存储。链表先不会开辟出一块内存来,而是只需要知道下一个节点存储的位置,就能把所以的数据连起来了。所以单向链表的最后一个节点是指向Null的。
数组、链表、栈和队列是最基本的数据结构,任何程序语言都会涉及到其中的一种或多种。
二、数组
数组是数据结构中很基本的结构,很多编程语言都内置数组。
在java中当创建数组时会在内存中划分出一块连续的内存,然后当有数据进入的时候会将数据按顺序的存储在这块连续的内存中。当需要读取数组中的数据时,需要提供数组中的索引,然后数组根据索引将内存中的数据取出来,返回给读取程序。在Java中并不是所有的数据都能存储到数组中,只有相同类型的数据才可以一起存储到数组中。