栈 用数组实现一个顺序栈 用链表实现一个链式栈 编程模拟实现一个浏览器的前进、后退功能 用数组实现一个顺序栈 class Stack(object): def __init__(self): self.stack=[] def push(self,item): self.stack.append(i ...
分类:
其他好文 时间:
2020-07-19 11:29:50
阅读次数:
48
一、什么是栈(Stack) 首先来说,栈是一种线性表的表现形式,其定义是只允许在栈顶进行插入或者删除的线性表,所以栈就有线性表的表现形式,链式栈和顺序栈。 栈顶(Top):允许进行数据的插入和删除的一端。 栈底(Bottom):不允许进行数据的插入和删除的一端。 空栈:不含任何元素的栈。 由图我们可 ...
分类:
其他好文 时间:
2020-07-13 18:13:56
阅读次数:
57
数组 实现一个支持动态扩容的数组 实现一个大小固定的有序数组,支持动态增删改操作 实现两个有序数组合并为一个有序数组 链表 实现单链表、循环链表、双向链表,支持增删操作 实现单链表反转 实现两个有序的链表合并为一个有序链表 实现求链表的中间结点 栈 用数组实现一个顺序栈 用链表实现一个链式栈 编程模 ...
分类:
编程语言 时间:
2020-07-05 13:12:20
阅读次数:
89
如何理解“队列”? 队列这个概念非常好理解。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。我们知道,栈只支持两个基本操作:入栈 push()和出栈 pop()。队列跟栈非常相似,支持的操作也很有限,最基本的 操作也是两个:入队 enqueue ...
分类:
其他好文 时间:
2020-06-24 14:02:37
阅读次数:
62
数据结构的练习与巩固//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ...
分类:
其他好文 时间:
2020-06-17 19:52:43
阅读次数:
65
一、概念 栈:后进先出,先进后出的数据结构。栈是一种“操作受限‘的线性表,只允许在一端插入和删除数据。 当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。 二、如何实现“栈” 既可用数组(顺序栈),也可用链表(链式栈) 数组实现: // 基 ...
分类:
编程语言 时间:
2020-06-16 23:16:52
阅读次数:
79
一、背景 在力扣题库中有一道经典的栈表应用问题:有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 1、 左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 3、注意空字符串可被认为是有效字符串。 来源:力 ...
分类:
其他好文 时间:
2020-05-30 12:26:12
阅读次数:
54
栈 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。 实际上,栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈。 用数组实现 ...
分类:
其他好文 时间:
2020-05-02 09:43:55
阅读次数:
49
第三章学习了栈和队列两种新的数据结构。整体上看是顺序表和链表的推广,结合指针对存储空间进行存取,并结合栈和队列各自对数据处理的顺序特点, 可具体应用在特殊的应用场景中。 栈分为顺序栈和链式栈两种,分别是顺序表和链式表结合指针,指向栈底和栈顶。 在栈的学习中,结合了递归和迭代算法。 通常把自底向上求解 ...
分类:
其他好文 时间:
2020-04-25 19:03:02
阅读次数:
64
五种编程语言解释数据结构与算法—链式栈 [toc] 1、栈的链式存储结构介绍 1.1、逻辑结构示意图 == 栈的链式存储结构与单链表相似,并且所有的操作都在表头进行 == 对于链式栈的操作与单链表基本一致,就不再一一叙述了。 2、栈的应用 2.1、括号匹配问题 2.2、表达式求值问题 2.2.1、三 ...
分类:
编程语言 时间:
2020-03-06 17:28:27
阅读次数:
84