美文网首页数据结构和算法
数据结构和算法-4.1-栈

数据结构和算法-4.1-栈

作者: 今阳说 | 来源:发表于2021-01-27 11:32 被阅读0次

    栈&队列 与 数组的区别

    用途:数组,链表,树等一般用来作为数据存储的工具,栈和队列更多是用来作为构思程序算法的辅助工具,用来执行某项特殊任务,例如handler中的messageQueue消息队列,Activity栈等;

    受限访问:数组可以通过下标随机访问或遍历,而栈和队列访问是受限的,即在特定时刻只有一个数据项可以被读取或删除;

    抽象数据类型:栈和队列的关键点在于它的逻辑特性,而非实现细节,它们可以用其他数据结构,如数组,链表等来实现;

    栈和队列插入和移除数据项的时间复杂度都是O(1);

    只允许访问最后插入的数据项,移除这个数据项后才可以访问倒数第二个插入的数据项,依此类推,例如往一个桶里面放东西,取出的时候要先取出最上面的;

    LIFO:last in first out,后进先出

    栈的容量通常比较小,一般用来作为算法或应用程序中临时存储数据

    通常提供的限定访问方法是push()和pop(),这是比较通用的命名;

    栈的实现

    1. 先创建一个栈的基类

    2. 用数组实现栈,后面讲到链表后,也将介绍用链表实现栈

    3. 对栈的使用

    我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

    相关文章

      网友评论

        本文标题:数据结构和算法-4.1-栈

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