美文网首页
180421 回顾 数据结构——栈

180421 回顾 数据结构——栈

作者: 周少言 | 来源:发表于2018-04-21 22:56 被阅读0次

关键词:
算法分析 线性数据结构 栈与应用 pythonds

算法分析

通过time模块对程序运行时间进行统计比较,可以对使用不同算法的程序进行性能分析。性能分析,需要考虑时间复杂度和空间复杂度,对两者进行权衡。如今更多的需要考虑时间复杂度。
考虑到不同的计算机,操作系统,版本差别等各种因素,time计算出的时间并不显得那么客观。
我们通过考虑一个算法所需要执行的步数来衡量其时间复杂度,将会不受其他因素的影响。我们采用大O记号将不同的算法通过时间复杂度分类。

线性数据结构

堆,栈,deque,
当其元素被添加时,就确定了其前后位置关系的数据结构。

栈 stack

LIFO 后进先出,或者说添加元素的位置与删除元素的位置在同一端。
python中,我们可以通过列表来实现栈。
from pythonds.basic.stack import Stack

其操作方法如下:
Stack() 创建并返回一个空栈
push(item) 向栈中添加item,无返回值
pop() 从栈顶删除item,无需参数,返回被删除的栈顶的item
isEmpty() 判断是否为空栈,返回布尔值
peek() 到达栈顶,无返回值
size() 返回栈中item的数量

相关文章

  • 180421 回顾 数据结构——栈

    关键词:算法分析 线性数据结构 栈与应用 pythonds 算法分析 通过time模块对程序运行时间进行统...

  • Activity启动模式精讲

    讲解本技术点之前需要准备的技术点回顾 栈数据结构 数据结构图文解析之:栈的简介及C++模板实现 - melonst...

  • 16周回顾及17周计划

    本周回顾 基本情况:2018年第16周 / 180415 - 180421 (一)本周计划完成情况 1. 日程表 ...

  • 【数据结构】顺序栈与链栈的实现

    整理数据结构代码,回顾两种栈的实现方法。 栈的定义 栈(Stack)是限定仅在表尾进行插入与删除操作的线性表。于是...

  • 安卓开发者的知识清单

    临近学校课程结束,回顾和梳理了下几门主要课程的脉络: 1.数据结构和算法基础数据结构:数组、链表、栈、队列、哈希表...

  • 栈和队列

    1、栈 栈是一种先进先出的数据结构。栈顶进栈,栈顶出栈。 数据结构 栈的初始化 进栈 出栈 栈的最小值 2、队列 ...

  • 12-图(Graph)

    图(Graph) 在讨论图这种数据结构之前,先来回顾一下前面介绍的几种数据结构 线性结构 数组 链表 栈 队列 哈...

  • 004 go语言实现栈

    1 数据结构 数据结构: 要实现的功能:0 栈的初始化1 获取栈长度2 入栈3 出栈4 清空栈内容5 判断栈是否为...

  • 刷穿剑指offer-Day18-栈II 单调栈的解题思路

    昨日回顾 昨天我们开启了栈这个数据结构的章节,分别介绍了Python和Java中栈的初始化与使用。然后通过三道题目...

  • java高级知识点

    1.数据结构 程序=数据结构+算法 栈:后进先出,线性结构 入栈:push 出栈:pop假如已知入栈顺序是ab...

网友评论

      本文标题:180421 回顾 数据结构——栈

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