若有看到这篇文章的小伙伴发现有内容错误,请告诉我改正。
一、数组
1)概念:数组是存储于一个连续空间且具有相同数据类型的元素集合。
2)逻辑结构和存储结构:
逻辑结构关注的是数据元素之间的关系,而不考虑数据的物理存储方式。对于数组而言,它的逻辑结构通常表现为线性结构,即数据元素之间存在一个顺序的关系。例如,一个整型数组 int[] arr = {1, 2, 3, 4}; 中的元素按照存储的顺序(索引0, 1, 2, 3)排列,形成一个序列。
存储结构关注的是数据元素在内存中的实际存储方式。
-
连续存储:这是最常见的数组存储方式。在内存中,数组的元素是连续存储的,也就是说,数组中的每个元素都紧挨着前一个元素存储。例如,上面的整型数组在内存中会占据一段连续的空间。
-
非连续存储:在某些特殊情况下,如使用稀疏数组(Sparse Arrays)时,数组的元素可能不是连续存储的。这种情况下,通常会有额外的数据结构(如链表)来维护元素的索引和实际存储位置之间的关系。
3)访问:采用数组下标访问。
连续存储时,第i个元素的地址=基地址+i * 元素类型所占的内存数。
4)特点:高效随机访问,低效删除和插入。
二、栈
1)概念:
栈是一种顺序结构,只允许在一端进行插入和删除,插入删除的一端叫栈顶,另一端叫栈底。栈是一种先进后出(后进先出)的数据结构。插入数据的操作叫入栈,删除数据的操作叫出栈。用英文表示为Last in Frist out,LIFO。

2)存储方式:
①基于数组的栈
②基于链表的栈
三、队列
1)概念:
只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进的FIFO(First in First Out)队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头 (Head/Front)。
2)存储方式:
①基于数组的队列
②基于链表的队列
2974

被折叠的 条评论
为什么被折叠?



