python数据结构(容器)

对于数据结构这样的一个词,我相信有过c语言基础的人都应该不陌生,
数据结构:(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。

根据数据元素之间关系的不同特征,通常有下列4类基本结构:
1)集合
结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。
2)线性结构(数组,队列,栈)
结构中的数据元素之间存在一个对一个的关系
3)树形结构(二叉树,链表)
结构中的数据元素之间存在一个对多个的关系
4)图状结构网状结构
结构中的数据元素之间存在多个对多个的关系。

c语言中的容器
容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型,c++中的容器主要使用如vector,list (顺序容器) 这些都是已经封装好了的,包含头文件”vector”,”list”,通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4
顺序容器:vector,list 分别举例 对比
vector容器的特点:在内存中是一片连续的存储区域,初始化的时候,可以指定容量,比如如果定义容量50 的容器存储 60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器. 读取速度快,插入删除效率低.如果仅仅在容器头或尾部 进行增删改,推荐使用deque,专门提供了对首尾的操作.

python中的容器
列表
集合
字典
元组

可变对象
列表,字典,集合

不可变对象
字符串,元组 ,固定集合(forzenset)

python内置的数据结构
列表,集合,字典,元组
python外部的数据结构
队列,栈,链表重点内容


纠正一下大家一直混淆不清的,概念
数据结构和容器的区别
数据结构是一般的叫法。 容器是从使用目的出发的说法。 既然数据结构总归里面是要有数据的, 所以你要把它做容器也是可以说的通的。 但是同样的东西你使用它的目的、重点不同, 说法也会有些不同,比如一个水杯用来装水就是容器,用来砸人就是凶器, 数据结构也是一样, 当你的关注点不是在它“装数据”这一点的时候,我们一般也就不能说他叫容器了

猜你喜欢

转载自blog.csdn.net/lc574260570/article/details/81812162