美文网首页
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基本数据结构

    线性数据结构 栈,队列,deques,列表其元素在数据结构中的位置由它被添加时的顺序决定。 栈 后进先出栈 LI...

  • 18-04-21 python3算法笔记 001算法分析

    目标 算法分析重要性学会使用算法分析工具大O记号来描述时间复杂度理解常用数据结构的时间复杂度理解数据如何影响算法分...

  • 数据结构和算法

    一。基本数据结构,排序算法,算法学习工具 基本数据结构,排序算法,算法学习工具(温馨提示:部分介绍需自备梯子) 二...

  • 数据结构和算法的关系

    数据结构和算法不是并列的关系, 它们构成了层次化的结构. 算法 抽象数据结构 基本数据结构 算法 DP 问题 回溯...

  • 1.公共知识——数据库结构和算法

    算法 算法的定义 算法的特征 算法的基本要素 算法的复杂度 数据结构 数据结构的定义 逻辑结构和物理结构 线性结构...

  • 数据结构和算法

    编程就是算法和数据结构,数据结构和算法是编程的灵魂 数据结构和算法能够帮助我们做很多事情, 一、数据结构的基本功能...

  • 02数据结构与算法复杂度分析上

    数据结构与算法之美专栏笔记 1. 为什么要学习数据结构和算法 数据结构和算法本身解决的是“快”和“省”的问题,让代...

  • 浅谈算法和数据结构

    注:采转归档,自己学习查询使用 浅谈算法和数据结构: 一 栈和队列浅谈算法和数据结构: 二 基本排序算法浅谈算法和...

  • 目录【Java实习生准备】

    HashMap底层详解-001-数据结构、put、get HashMap底层详解-002-hash算法、长度的秘密

  • 小甲鱼数据结构&算法教程学习笔记01

    小甲鱼数据结构&算法教程学习笔记01 一、绪论 程序设计=数据结构+算法 数据结构:数据元素之间的一种或多种特定关...

网友评论

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

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