[笔记] 数据结构01 - 集合、列表和数组
集合
由一个或多个确定的元素所构成的整体,如:商店的所有礼品是一个集合,整个教育平台的题库是一个集合,办公桌上的物品也是一个集合。
注:集合里的元素类型不一定相同,集合里的元素没有顺序。
列表
又名线性列表,是一种数据项构成的有序列表。
清单中条目类型不同,但按照顺序排列,故称为线性顺序,排列而成的数据项的集合。列表是在集合的特征上形成的,但是它具有顺序,且长度可变(可以增加、删除条目)。如:一张购物清单:
一章购物清单:
1.一本书
2.一台笔记本
3.一杯咖啡
注:列表中的元素在内存中可能彼此相邻,也可能不相邻。比如列表的另一种实现方式——链表,它的元素在内存中则不一定是连续的。
数组
数组是列表的实现方式之一,也是面试中经常涉及到的数据结构。

数组会用一些名为 索引 的数字来标识每项数据在数组中的位置,且在大多数编程语言中,索引是从 0 算起的。我们可以根据数组中的索引,快速访问数组中的元素。
列表中没有索引,这是数组与列表最大的不同点。数组中的元素在内存中是连续存储的,且每个元素占用相同大小的内存,称之为连续存储。
注:列表中的元素在内存中可能彼此相邻,也可能不相邻
总结
集合是一种抽象的概念,列表是在集合的基础上加了限定条件,数组是一种具体实现的类型。
集合:不一定相同,无顺序,类型无限制,无关地址;
列表:无索引,有顺序,类型无限制,地址可相邻,也可不相邻,长度可变;
数组:有索引,有顺序,类型相同,地址相邻


浙公网安备 33010602011771号