Bootstrap

Python --- 线性表、栈、队列、树

"""
线性表的定义分类:
    一、定义:具有零个或多个数据元素的有限序列
    二、特征:第一个元素没有前驱元素   最后一个元素没有后继元素  其它的元素只有一个前驱元素和一个后继元素
    三、操作:插入  删除  查找
    四、分类:
        1、顺序表:存储结构连续   
            定义:在计算机的内存中 以一组地址连续的存储单元 依次存储数据元素的线性结构
            优缺点:
                优点:支持随机访问
                缺点:插入删除需要移动大量元素  造成存储空间碎片
            在python中的应用:列表/元组
            时间复杂度:访问 O(1)   插入删除O(n)
        2、链表:逻辑连续  存储结构不连续
            定义:常见的数据结构 是一种线性表
            分类:单向链表、单向循环链表、双向链表
            优缺点:
                优点:插入删除方便
                缺点:不支持随机访问
            时间复杂度:访问O(n)    插入删除O(n)



栈:
    栈的定义:只允许在表尾进行插入删除的线性表  
    特征:后进先出
    
Stack() 创建一个新的空栈
push(item) 添加一个新的元素item到栈顶
pop() 弹出栈顶元素
peek() 返回栈顶元素
is_empty() 判断栈是否为空
size() 返回栈的元素个数



队列:
    只允许在一端插入另一端删除的先进先出的
;