题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1728/ 关于广度优先搜索的第一篇题解。广度优先搜索,就是状态树的层次遍历,一层一层的搜索,直到搜索到目标状态为止。在扩展的过程中设定一种由上一层扩展到下一层的转化机制,将出现的新的状态放入队列之中,每次取出队首元 ...
分类:
其他好文 时间:
2020-03-16 21:48:42
阅读次数:
75
# 题意长度为n的序列,只能看到长度为k的滑动窗口,从数组的最左边移动到最右边,求出每个滑动窗口的最大值和最小值 # 题解长度为n的序列,每次从输出k个连续的数中的最大值和最小值暴力做法,对每一段i,i…i+k-1 逐个进行比较得最大值,时间复杂度为O(n*k),数据范围大就会超时优化:单调队列中存 ...
分类:
其他好文 时间:
2020-03-15 09:40:25
阅读次数:
43
1.队列是只允许在一端进行插入 在另一端进行删除的线性表 2.队列先进先出 //队列的链式存储结构(插进去 吐出来) typedef struct QNode { ElemType data; struct QNode *next; }QNode, *QueuePrt; typedef struct ...
分类:
编程语言 时间:
2020-03-14 12:48:02
阅读次数:
67
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] ...
分类:
其他好文 时间:
2020-03-12 23:36:52
阅读次数:
60
1、列表操作 1.1 作用:按位置存放多个值 1.2 定义 1.3 类型转换: 但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表 1.4 内置方法 优先掌握的操作: 1.4.1 按索引存取值(正向存取+反向存取):即可以取也可以改 正向取 反向取 可以取也可以改:索引存在则修改对 ...
分类:
编程语言 时间:
2020-03-11 20:59:24
阅读次数:
87
元组(tuple) 元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只存不取的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用更多的内存。但是目前工业上内存已经 ...
分类:
其他好文 时间:
2020-03-11 19:47:25
阅读次数:
40
用 Python 来实现 队列和双端队列, 直接上代码理解即可. 队列蛮好理解的, 就是模拟咱生活中的排队. 先进, 先出嘛. Dquue 双端队列 ...
分类:
编程语言 时间:
2020-03-11 01:03:10
阅读次数:
79
1.普通队列 头文件 : include<queue> 构造队列Q : queue <队列类型> Q 部分操作: Q.push(x) 入队 Q.pop() 出队 Q.top() 读取队首元素 Q.back() 读取队尾元素 Q.empty() 判断队列是否为空 为空返回true Q.size() 查 ...
分类:
编程语言 时间:
2020-03-06 12:40:01
阅读次数:
90
【题目】 有猫狗类如下: 要求实现如下功能: add:方法将cat类或dog类的实例放入队列 pollAll : 将队列出队(按照队列的先后顺序) pollDog:将队列的dog类实例按照队列的先后顺序出队 pollCat:同理 isEmpty:队列是否为空 isDogEmpty:检查队列是否存在d ...
分类:
其他好文 时间:
2020-03-01 10:25:36
阅读次数:
56
概括 AQS框架数据结构是一个先进先出的双向队列,当多个线程进行竞争资源时,那些竞争失败的线程会加入到队列中。他向上层提供了很多接口,其中一个是acquireShared获取共享模式的接口。本文将会根据这个接口一步步分析,获取资源失败的线程是怎么进入到队列中的,进入到队列中又是怎么出队列再次竞争资源 ...
分类:
其他好文 时间:
2020-02-29 18:50:39
阅读次数:
165