讨论/《数组和字符串》 - 集合、列表和数组/
《数组和字符串》 - 集合、列表和数组
共 38 个回复

1.jpg
笔记打卡

107

集合是爷爷,列表是爸爸,数组是儿子

62

集合是一种抽象的概念,列表是在集合的基础上加了限定条件,数组是一种具体实现的类型

7

集合:一个整体,无序,无分类,
列表:没所有索引,可以不连续,具有序列(顺序),可以增,删,改;列表最常见的表现方式是数组和链表,栈和队列是两种特殊类型的列表
数组:有数字索引,指定数据所在数组的位置,数组中的元素在内存中是连续储存的,切每个元素的占用大小相同的内存。

7

链表是兄弟

4

集合:是列表和数组的原型;
特征:无序,不重复。

列表[线性列表]:
一种数据项构成的有限序列。按照一定的线性顺序,排列而成的数据项的集合。

特征:顺序,长度可变。
常见表现形式:数组和链表;特殊类型:栈和队列。

数组
列表的实现方式之一;数组是列表的实现方式,具有列表的特征。
In C++&Java:列表中的元素类型必须一致;
Python:它的数组名字叫做list,并且内部元素类型不尽相同。
宏观上区分列表和数组的元素:索引。
1.数组会通过索引来表示每项数据在数组中的位置;列表中没有索引。
2.存储方式;数组中的元素是连续存储,而列表中的元素可以相邻或者不相邻。
实现方法:链表[不连续]。

4

集合:无顺序,类型无限制,地址无关;
列表:无索引,有顺序,类型无限制,地址可相邻,也可不相邻;
数组:有索引,有顺序,类型相同,地址相邻

2

集合一般被定义为:由一个或多个确定的元素所构成的整体。集合里的元素类型不一定相同。集合里的元素没有顺序。

列表(又称线性列表)的定义为:是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。

数组是列表的实现方式之一,也是面试中经常涉及到的数据结构。那么如何从宏观上区分列表和数组呢?这里有一个重要的概念:索引。

1

集合,任何一组事物(或无素)在一起都可以看做一个集合
列表:把集合中的元素按一定顺序排列后,可以添加删除
数组:给列表中的每个元素都添加一个索引,能够按照索引找到该元素,并且在C/C++/Java等语言中,这些元素占用内存连续且每个元素的内存大小相同

image.png