美文网首页
18-04-21 python3 算法笔记 002基本数据结构

18-04-21 python3 算法笔记 002基本数据结构

作者: 周少言 | 来源:发表于2018-04-25 16:07 被阅读0次

    线性数据结构

    栈,队列,deques,列表
    其元素在数据结构中的位置由它被添加时的顺序决定。

    后进先出栈 LIFO last in first out
    添加操作与删除操作总发生在同一端(顶端)

    栈操作:

    Stack() 创建一个空栈,并返回空栈
    push(item) 在顶部添加一个新项item,无返回值
    pop() 从顶部删除顶部项,返回顶部项
    peek() 到达顶部项,无返回值
    isEmpty() 测试栈是否为空,返回布尔值
    size() 返回栈中项的数量

    python实现栈

    Stack类定义是从pythonds模块导入的。
    pythonds包括以下部分: 基本数据结构类型,树和图。
    下载地址

    from pythonds.basic.stack import Stack

    使用栈解决实际问题:

    • 简单括号匹配——圆括号((((()))))
      ( push
      ) pop
      isEmpty来判定是否匹配

    • 括号匹配——{[[([])]]},或者[] () {} ()

    • 十进制转二进制
      我们用除二法来将十进制转为二进制
      第一个余数成为了二进制数的最后一个数

    a_stack.push(rem) 将余数按产生的先后顺序推入栈
    a_stack.pop(rem) 将栈中存储的余数,按后进先出的顺序推出,并添加到一个字符串中

    队列

    dequeue抽象数据类型
    Queue()
    enqueue(item)
    dequeue()
    isEmpty()
    size()

    双端队列

    deque 首部和尾部 添加与删除操作非限制性

    deque 抽象数据类型

    Deque()
    addFront(item)
    addRear(item)
    removeFront()
    removeRear()

    列表

    无序列表抽象数据类型

    相关文章

      网友评论

          本文标题:18-04-21 python3 算法笔记 002基本数据结构

          本文链接:https://www.haomeiwen.com/subject/ajjylftx.html