前言:本文阐述个人观点,如有不同见解欢迎评论区讨论~
线性表:在内存上连续存储数据的一种数据存储方式,或者说是一种数据结构。
动态:当线性表一开始分配的空间不够时,找一块更大的地方存数据(比如一开始只分配了10个空间,你一直加数据加数据,到第10个的时候,空间满了,可是还想继续加咋办?再找一块更大的数据空间,先把已有的10个数据全部搬过去,之后再继续添加。对,就是这么干的,虽然搬数据会消耗时间)
分离式
为什么说python的list是分离式的呢?
为什么python的list要做成分离式的呢?有什么好处么?
我们先说说分离式的好处:list可以存储不同类型的数据,也就是一个list里面既可以存整数,也可以存浮点数,也可以是字符串,等等等等。
那么是怎么实现这种分离式呢?请看下面:
普通的非分离式线性表,只能存储一种数据类型,
我们如果把存在普通的线性表里面的数据换成地址,也就是说这个线性表存储的全都是地址。这样的话,会有什么效果呢?
我们知道,地址指向一定大小的存储空间。而这个存储空间的大小是可以任意指定的。整型数据相对于浮点型就小一点。
发现了没有朋友们,也就是说,一个存地址的线性表就是分离式线性表实现的基础。
换句话说,就是线性表原来存数据的地方换成了地址,而地址指向的空间我可以存储任何类型的数据。这样python中的list可以存储不同种类数据的效果。
总结:
其实真实逻辑应该是这样的
1,程序员对线性表只能存储一种数据类型感到不满。
2,聪明的程序员想到了“把原来存数据的地方换成地址,地址指向的空间存储数据”的办法来解决1中的不满。
3,大家为2中的方法起了“分离式”这个名字。
欢迎各位评论区补充讨论,也欢迎关注!