数据结构介绍
存储一组有关系的数据
数据结构的分类:
树结构
图结构:
列表
列表存储与基本操作
数组:
开辟一定长度的内存,用来存储数据,里面是真实的值。32位机器上,一个整数占4字节。假设第一个数的地址是100,那么后面的数的地址也就确定了。
要查找数组中的第三个元素。a[2],直接查找地址为108的即可。
数组与列表有两点不同:
- 数组元素类型要相同
- 数组长度固定
存储问题:
pytohn列表内存的是地址,具体的值存在另外的内存上。一个地址占4个字节。这样解决了类型不同的数据可以存在一起的问题。python的列表自动开辟多一些的空间。
如何查找:
同上。
查找,增加的时间复杂度:O(1)
插入,删除所有元素都要串位,时间复杂度为O(n)。pop()不用,直接删除最后一个O(1)。
python里a=1,a的位置指向200号内存;b=1,b的位置指向200号内存;b=2,b的位置指向305号内存.
栈
比如,只能在上面放一本书,或是抽走一本书。不能再中间进行操作。
取栈顶:看一下栈顶元素是什么,但不取走。
class Stack:
def __init__(self):