栈:#-*-coding:utf-8-*-classStack(object):def__init__(self):self.__list=[]defpush(self,item):returnself.__list.append(item)defpop(self):returnself.__list.pop()defpeek(self):"""返回栈顶元素"""ifself.__list:ret
分类:
编程语言 时间:
2019-05-16 16:27:08
阅读次数:
115
问题描述 输入数组arr={4,3,5,4,3,3,6,7},窗口大小w=3,窗口由左向右移动,输出每个窗口最大值组成的数组。 解题思路 数据结构:使用ArrayList模拟双端队列。 遍历一遍arr,时间复杂度O(n)。具体地, 队列队尾的位置对应的元素若不比当前位置对应元素大,则弹出,否则,将当 ...
分类:
编程语言 时间:
2019-05-14 23:10:50
阅读次数:
298
1.概述 我们知道,程序就是用来处理数据的。对于每一件现实中的问题,我们也是将其抽象成数据+对数据的操作。所以数据的格式决定着我们操作他们的形式。 我们可以想象在超市中排队结账的情景,很多人排成一条长队,而新来的人要排在队的后面,结账的人一定是在队列最前面的人。(不考虑没有素质的行为) 我们还可以想 ...
分类:
其他好文 时间:
2019-05-13 14:39:02
阅读次数:
124
什么是队列? 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。 与栈不同的是队列遵循“先进后出”,即数据从一端插入,另一端弹出。两端分别进行不同的操作。 注:如果将栈和队列结合,即可以实现 ...
分类:
其他好文 时间:
2019-05-08 23:05:35
阅读次数:
229
1.本周学习总结(0 1分) 谈谈你对栈和队列结构的认识及学习体会。 体会:本章学习了栈和队列,堆栈和队列都是特殊的线性表,其数据元素以及数据元素之间的逻辑关系完全相同, 区别在于:线性表的插入和删除操作不受限制,堆栈只能在栈顶插入和删除,队列只能在队尾插入,在队头删除. 栈的特点还是非常有意思的, ...
分类:
其他好文 时间:
2019-04-22 00:28:28
阅读次数:
142
主要介绍了数据结构中栈、队列,以及它们的两种存储结构:顺序存储、链式存储; ...
分类:
编程语言 时间:
2019-04-14 14:14:10
阅读次数:
230
这两周学习了关于栈和队列的表示、操作和实现。 栈:先进后出 队:先进先出 两种线性表一般用在特定的场景。 如括号匹配用的是栈;银行排队用的是队列。 本周首先完成了括号匹配,一开始是根据书本打上关于栈的基本操作函数(入栈,出栈) 我采用的方法是顺序栈。 首先在主函数判断括号匹配 由 将所有的不符合的方 ...
分类:
其他好文 时间:
2019-04-01 01:10:19
阅读次数:
113
一、你对本章内容的小结 本章主要讲了两种特殊的线性表,栈和队列。栈是仅在表尾进行插入或删除操作且后进先出(LIFO)的线性表,而队列则是在表的一端插入,另一端删除元素且先进先出(FIFO)的线性表。同时,课本的案例引入告诉我们,栈可以解决数值的转换,括号匹配的检验问题;而队列因其结构的吻合可以用了舞 ...
分类:
其他好文 时间:
2019-04-01 00:59:23
阅读次数:
158
本章学习了栈和队列,栈和队列都是只能在表头或表尾进行操作的线性表,它们是操作受限的线性表;其中栈是先进后出,仅在表尾进行插入和删除,而队列是先进先出或后进后出,在表头插入,表尾删除;具体学习顺序栈和链栈还有队列的存储结构和他们的初始化,入栈,出栈,取栈顶元素等基本操作过程及算法;了解了栈与递归之间的 ...
分类:
其他好文 时间:
2019-04-01 00:56:05
阅读次数:
162